Autor Zpráva
drEd
Profil *
Potreboval bych poradit, jak se pracuje v PHP s adresari. Cetl jsem nejake navody, ale vube to nechapu a ani mi to nefunguje. Potrebuju se stranek ruzne umistenych ve stukture ulkadat soubor do jednoho mista. Jak mam napriklad napsat, aby se mi po prikazu z nejaky stranky ulozene hluboko ve webu otevrel soubor v rootu? Kdyz dam fopen(soubor, "r+"); tak ho hleda jen ve svoji slozce.
tiso
Profil
Musíš si zistiť ako hlboko si a dostať sa hore (../../)
drEd
Profil *
No to jo... ale ja ten soubor, ve kterem to otviram taham do stranek pres require a taham ho i do zanorenych stranek. Neda se nastavit neco jako je v html <base> aby tam proste byla evna cesta pro vsechny stranky. (a navic, takto to nejde, to mi vyhodi chybu. K cemu je vlaste funkce dir?)
tiso
Profil
To je problém do skriptu čo je v roote napísať include "nieco.php"; pre ten čo je v podadresáry include "../nieco.php"; v podpodadresáry include "../../nieco.php"; atd.?
drEd
Profil *
No to jo. Nacist ho umim. Ja se ptam, jakym zpusobem otevru soubor v rootu pres fopen() tak, aby se otevrel a dalo se s nim pracovat v tom souboru v podadresari ne jak nahraju soubor pres require:

1)soubor ktery chci otevrit a je v rootu: xxx.txt

2)cast stranky v adresari /pieces/: head.php v ni je funkce fopen("xxx.txt", "r+");

3)stranka ktera je ve /slozka/slozka/: do ni nahravem pres require "../../pieces/head.php"; ale kdyz se mi tam ta hlavicka nahraje, funkce fopen() se snazi otevrit /slozka/slozka/xxx.txt ale ja chci otevrit /xxx.txt...

Snad to je uz jasnejsi.... Jde to?
tiso
Profil
ide, v head.php si vlož:

$curentdir=dirname($PHP_SELF)."/"; //adresar z ktoreho je volany head.php
$deep=substr_count($curentdir, "/")-1; //pocet adresarov od: /
$updir=str_repeat("../", $deep); //navratovy adresar

...fopen($updir."xxx.txt", "r+");
drEd
Profil *
No... nejspis to bude fungovat, ale moc tomu nerozumim. Aby mi to fungovalo pro tu strukturu, kterou jsem uvedl, mam to nechat takto, nebo je tam treba neco doplnit? Trochu jsem si prostudoval ty funkce na manualu, ale moc mi to nerika.
drEd
Profil *
$curentdir=dirname($PHP_SELF)."/";

Tam asi bude chyba, protoze se to stejne nacita tqak, jako predtim, a mam tuseni, ze PHP_SELF vrati cestu ke strance, kterou si navstevnik prohlizi a ne k souboru, ktery do stranky includuju....
error414-
Profil *
drEd

nebo si uloz do promene adresu rootu usr/neco/web/drEd tu zjistis kdyz si vypises pole server

print_r($_SREVER) nekde tam to je

no a pak vsecno odazuj od rooru
drEd
Profil *
Kdyz dam toto: <?php echo $curentdir.$deep.$updir; ?> nic se nevypise. Ani kdyz to necham vypsat zvlast.
drEd
Profil *
Aha... To by mozna mohlo. Zkusim.
tiso
Profil
mam tuseni, ze PHP_SELF vrati cestu ke strance, kterou si navstevnik prohlizi a ne k souboru, ktery do stranky includuju
Presne tak - veď o to práve ide... Ty vieš kde sa nachádzaš v štruktúre webu, takže vieš koľkokrát musíš dať ../ aby si sa dostal k head.php... Ale v súbore head.php to nevieš - resp. ho voláš z rôznej hĺbky webu... Tak preto tie moje 3 riadky kódu, aby si sa dostal do rootu a odtiaľ môžeš ísť kam len chceš...

Ja to tak používam (iba u mňa sa head.php = layout.php a xxx.txt = stat.htm)
Toto téma je uzamčeno. Odpověď nelze zaslat.

0