Absolutní cesta k souboru
Dobrý den,
chci se zeptat. Když použiji v kódu PHP (příkazem nebo přímým zadáním) absolutní cestu k obrázku ve tvaru:
/data/web/virtuals/00000/virtual/www/domains/domena.cz/images/obrazek.jpg
tak se mě obrázek nezobrazí. Cesta k souboru je správná, ale obrázek nelze načíst. Prosím o radu, kde je chyba.
Děkuji, Z
9 Answers
Dobrý den!
Děkuji všem za snahu a ochotu vyřešit můj problém. Nakonec mě k vyřešení dovedl poslední příspěvek. Ačkoliv jsem ten kód projížděl neustále dokola, nevšiml jsem si při výpisu cesty jednoho adresáře navíc. Autorská slepota funguje dokonale.
Řešením bylo:
realpath(__DIR__ . '/..')
Ještě jednou moc děkuji a přeji krásný den, Zd.
Dobrý den,
pro soubory na daném webhostingu by cesta fungovat měla, do jiných webhostingů se takto nedostanete. Na kterém webhostingu a jakým konkrétním kódem obrázek zobrazujete? Odpověď můžete poslat v soukromé zprávě.
Pošlete prosím konkrétní kód a soubor, kde se nachází.
Přeposílám odpověď technika:
/data/web/virtuals/60031/virtual/www sice vede pořád na cílovou destinaci, ale dotazuje se to hlouběji – mimo document root. Tudíž v rámci složky/složek se asi můžete klasicky odkazovat relativně a jako absolutní cestu bych bral od obsahu ve www složky, která je root /
V php na toto existuje magická konstanta __DIR__
Ta vrací absolutní cestu až ke scriptu kde byla volána.
Dobrý den.
Problém je v tom, že nelze k img souborům využít příkazy jako dirname(__FILE__)
, realpath apod. využívající absolutní cestu. Nefunguje to ani v případě, když jsou soubory nahrány přímo ve složce www. Možná jsem se někde zacyklil a dělám chybu já, ale nemohu přijít na to kde 🙁
Z.
Obávám se, že tady už bych musel zapojit do konverzace staršího technika, ale ti jsou momentálně mimořádně vytíženi.
Téma nechám otevřené ještě minimálně 14 dní, pokud nenajde řešení nikdo z komunity, možná se mi podaří doptat u kolegů, pokud budou mít více času než teď.