Autor Zpráva
loukykouky
Profil *
Mám v rootu xampu složku include a v ní je meta.inc.php.
Další složka v rootu je php a v ní je soubor test.php s kódem:

include_once dirname(__FILE__) . '/php/meta.inc.php';

.. a nefunguje to.

když dám soubor test.php do rootu, tak to funguje, nechápu to


Pardon oprava kód v test.php je:
include_once dirname(__FILE__) . '/include/meta.inc.php';
DJ Miky
Profil
include/
   meta.inc.php
php/
   test.php

dirname(__FILE__) je rovno aktuálnímu adresáři, což je v případě souboru test.php adresář php, tedy:
include_once dirname(__FILE__) . '/include/meta.inc.php';
vrátí cestu končící .../php/include/meta.inc.php, která samozřejmě neexistuje. Ty se potřebuješ dostat o adresář výše, tedy:
include_once dirname(__FILE__) . '/../include/meta.inc.php';

Ta špatná cesta by měla být zmíněna i v chybové hlášce o neexistenci souboru, případně si to můžeš vyzkoušet prostým vypsáním, co ti ta konstrukce přesně vrátí za cestu.
loukykouky
Profil *
Díky funguje, a dlám to tak dobře, nebo to jde udělat lépe? Díky
Kubo2
Profil
DJ Miky:
dirname(__FILE__) . '/../
Alebo skôr dirname(dirname(__FILE__)).

loukykouky, skús si nechať vypísať, čo je vo __FILE__.


Dodatok:
loukykouky:
a dělám to tak dobře, nebo to jde udělat lépe?
Syntakticky to robíš dobre, ale všeobecne ti odporúčam skôr require, pretože väčšinou sa bez toho, čo máš vo vkladanom súbore, nezaobídeš, a týmto spôsobom sa vyhneš chybovým hláškam typu Notice: undefined variable|index: [...] in [...] on line [...].

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: