Autor Zpráva
Lama
Profil *
Mám problém. Dělám web a do každé stránky chcu naincludovat menu. Narazil jsem ale na problém. V menu mám třeba relativní odkaz "forum/index.php" a když to menu naincluduju do souboru např na adrese "hystorie/prosinec/index.php", tak mě v menu odkaz na fórum odkazuje na "hystorie/prosinec/forum/index.php". Nevíte čco s tím?
A ještě jedna věc asi podobná - stejně jako menu includuju záhlaví a v něm je obrázek (který je v rootu webu) a když to záhlaví nainckuduje někde v podadresáři, tak mě to nezobrazí ten obrázek. Napadlo mě, že bych do src o obrázku dal buď absolutní adresu (ale tomu se chci vyhnout) a nebo mu nějak relativně říct, že je v rootu v nějakém podadresáři. Poradíte mi prosím?
mipo
Profil
Použi odkazy vo forme "/forum/index.php", ak je adresár "forum" v roote webu (adresár najvyššej úrovne).
Lama
Profil *
Jako v menu nebo kde?
V menu to tak mám...
Lama
Profil *
Ajo! Když dám na začátek lomítk, tak se to bere jako z rootu?
Já su blbec. Nikdy jsem to ještě nepotřeboval, tak jsem to nevěděl.
A jak mám vyřešit ten obrázek? Takhle to nepůjde ne?
mipo
Profil
Tento spôsob funguje všade, takže aj pri obrázkom, odkazoch, externých CSS súboroch atď.
Lama
Profil *
Ale mě to nejde. Když dám do src obrázku "/images/zahlavi.jpg",tak mě to nezobrazí obrázek nikde. A když includuju soubor, tak to taky to nejde:
Jde: <?php include("../../zahlavi.php"); ?>
Nejde: <?php include("/zahlavi.php"); ?>
curo
Profil
Nejde: <?php include("/zahlavi.php"); ?>

Ak nemáš špeciálne nastavenú include_path , tak musíš napísať relatívnu cestu zo skriptu v ktorom je include, t.j. tvoja prvá možnosť.

Viac o include nájdeš na http://www.php.net/manual/en/function.include.php
mipo
Profil
Sorry. Funguje to všade v (X)HTML. U toho obrázku to musí fungovať. Možno je chyba niekde inde:-)
Yuhů
Profil
když něco začínáte lomítkem, tak se liší dva případy:

1. když je to třeba v prohlížeči nebo v odkazu, který se z dálky dívá na server, tak adresa / znamená root webu. Takže ono je to třeba example.com/soubor, ale ze serveru example.com se na to dá odkazovat jako /soubor

2. když je to uvnitř programu, který běží na serveru (typicky v php příkazu include), pak adresa / znamená root serveru, nikoli root webu. Root webu může na serveru být třeba v adresáři
/data/web/example.com/. V tu chvíli jsou adresy začínající lomítkem (jako třeba /soubor) téměř k ničemu, protože míří do rootu počítače, kde ty includované soubory prostě nejsou. V praxi lze při includování použít adresy relativní. Jirka Kosek doporučuje adresy začínající tečka lomítko, např. ./soubor, kde . znamená "tento adresář".
Lama
Profil *
Moc děkuji - podívám se na to.
Toto téma je uzamčeno. Odpověď nelze zaslat.