Autor | Zpráva | ||
---|---|---|---|
pyty Profil |
pred tym, ako odidem od kompu mam este jednu otazku //neznasam nedelu :-{//
mam php subor v adresari "php/" a v roote mam subor head.php. v head.php je riadok<link rel="stylesheet" type="text/css" href="style.css">. a v subore main.php v adresari php/ je riadok include '../meta.php' a subor style.css je v roote. takze ked spustim subor php/main.php budu tam ti styly alebo by ich tahalo s toho adresara kde je subor main.php ? inac povedane ked sa includuje daco kde je relativna adresa, ide to od adresara kde ja includovany subor, alebo kde je subor co includuje ? a je aj ine riesenie okrem absolutneho odkazovania ? |
||
izsak Profil |
#2 · Zasláno: 28. 11. 2004, 19:23:20
"Počíta" sa to vzhľadom na výsledný (zložený) súbor. To znamená od súboru, ktorý includuje ostatné.
Odkazovanie je buď absolútne, alebo relatívne. Absolútne je buď s uvedením protokolu, ale s / na začiatku, čiže odkazom na root webu. Prosím ťa, zmeniť nadpis na "relatívne ...", lebo ten y je strašný >:o |
||
Yuhů Profil |
#3 · Zasláno: 28. 11. 2004, 23:45:37
izsak, já jsem právě myslel, že když napíšu include s lomítkem na začátku, že to je absolutní adresa na daném počítači, ne na tom webu.
Takže include "/index.html" vloží soubor index.html z rootu serveru (počítače), nikoli z rootu webu. ale nejsem si jistý. |
||
izsak Profil |
#4 · Zasláno: 28. 11. 2004, 23:51:48
To odkazovanie som myslel na hyperlinky v HTML (URL/URI/IRI). (Viac-menej to patrilo k tomu <link>)
Do PHP sa vyznám málo a odkiaľ berie include súbor pri absolútnej ceste (include "/index.html") neviem. Ale zdravý selský rozum mi vraví, že aspoň na Linuxe by to skutočne mal byť súbor v roote PC. |
||
llook Profil |
#5 · Zasláno: 29. 11. 2004, 04:07:12
Původní dotaz byl asi zodpovězen, na straně prohlížeče jsou adresy relativní k URL na které ty odkazy jsou. Takže jenom dodám, jak je to s tím include.
U absolutních adres je to tak jak říká Yuhů. /index.html vloží soubor z rootu počítače. Relativní názvy souborů jsou relativní k tomu skriptu z požadavku, tedy k $_SERVER['SCRIPT_FILENAME'] , ne nutně k souboru, ve kterém je umístěná řídící struktura include .
Kdyby jste chtěli vložit z rootu webu, pak by vás mohlo napadnout použít $_SERVER['DOCUMENT_ROOT'] . Ale to funguje pouze pokud DocumentRoot míří na root vaší domény.
Já využívám toho, že každý soubor zná svůj název. Takže když chci includovat třeba soubor cokoli.php z adresáře nadřazeného includujícímu souboru, napíšu include(dirname(__FILE__).'/../cokoli.php');
|
||
Časová prodleva: 16 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0