Autor Zpráva
jouda01
Profil *
Ahoj, resim takovou divnou vec..

mam soubor ktery zaznamenava chyby v aplikaci ktery se jmenuje chyby.php, ten soubor chyby.php mam includovany v souboru "soubor.php" v adresari. Kdyz se v php vyskytne nejaka chyba tak se zapise do chyby.log

Struktura webu vypada takto:
ROOT      -> chyby.php
          - LOGY -> chyby.log
          - ADRESAR - > soubor.php


Kdyz v chyby.php nastavim cestu na $_SERVER['DOCUMENT_ROOT'].'/logy/chyby.log' tak to funguje tak jak by melo ale pokud cestu nastavim jen na 'logy/chyby.log' tak to pise no such file or directory (proste to nemuze najit - je spatna cesta). Zkousel jsem i '../logy/chyby.log' nebo '/../logy/chyby.log' nebo '/logy/chyby.log' apod. a porad to vypisuje tu samou hlasku.. Tak nechapu kde by mohla byt chyba..

Jde o to ze freehost nepodporuje $_SERVER['DOCUMENT_ROOT'] a musim tam ty cesty napsat relativne.

Je nejaka moznost jak presne vypsat jakou cestu to hleda (v absolutnim zobrazeni cesty) nebo jak by se to dalo spravit?

Mam podezreni ze je to tim ze ten soubor chyby.php je includovany i v jinych souborech ktere jsou treba jeste v podadresarich a tim padem to nemuze najit.. Ale nevim co stim udelat.

Chyba je na 100% v zapisu cesty.

Diky
Jozin
Profil *
Ahoj,

já takovéto věci řeším tak, že v kořeni webu (index.php) si nadefinuji cesty... U mě totiž jsem stále v index.php a pomocí Routování zobrazuji stránky. Pokud to takto nemůžeš udělat, tak prostě na začátku každého souboru, kde includuješ chyby.php zadefinuješ cesty a v chyby.php tyto konstanty použiješ:

příklad mého index.php:
<?php
define('ROOT', __DIR__); //u verze nižší než 5 define('ROOT', dirname(__FILE__));

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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

0