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
"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
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
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
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');
Toto téma je uzamčeno. Odpověď nelze zaslat.