Autor Zpráva
dmfzd
Profil
Dobrý den,
Potřebuju vyřešit jednu věc:
Chci, aby se vkládal obrázek do stránky, ale pokud obrázek neexistuje nahradí ho jiným obrázkem.
Ve vláknu "Ověřování existence JPG fotek" poradili file_exists, ale ten mi nefunguje.
$pic3 = "http://img.csfd.cz/posters/22/223262_1.jpg";
if (file_exists($pic3))
{
$pic = $pic3;
}
else
{
$pic = "reg/images/obrazek_neexistuje.jpg";
}

echo "<img src='$pic'>";


i když obrázek v proměnné $pic3 existuje, vždy se zobrazí obrázek "obrazek_neexistuje.jpg"

Nevíte proč?
předem děkuji
Petr Wudi
Profil
Není to tím, že obrázek je na cizím webu?
dmfzd
Profil
Opravdu to může být tím?
A je nějaká možnost, jak to otestovat i na cizím webu?
Taps
Profil
dmfzd:
zkus
get_headers

viz např http://www.ekloe.com/2010/12/php-jak-zjistit-ze-url-existuje/
dmfzd
Profil
Trochu zdlouhavé řešení, myslím...
File_exists() tedy použít nelze?
Taps
Profil
dmfzd:
tuším, že
File_exists
ověřuje existenci pouze na lokálním webu
jenikkozak
Profil
dmfzd:
Lze, je-li nastavena direktiva „allow_url_fopen“.
Taps
Profil
jenikkozak:
opravdu ?
dmfzd:
http://diskuse.jakpsatweb.cz/?action=vthread&forum=9&topic=111668
dmfzd
Profil
Děkuji všem,
vyřešeno:
function url_ok($url) {
    $headers = get_headers($url);
    return substr($headers[0], 9, 3);
}

echo url_ok(http://www.seznam.cz/);


(vrací 200)
jenikkozak
Profil
Taps:
opravdu ?
Nikdy jsem to nepotřeboval, ale podle něčeho jsem si to pamatoval...

Našel jsem to.
„Od PHP 5.0.0 může parametr obsahovat URL adresu (pouze je-li nastavena konfigurační direktiva allow_url_fopen - viz kapitola 4).“ (KREJČÍ, Lukáš. PHP : Kapesní přehled. Vydání první. [s.l.] : Computer Press, 2006. Funkce pro práci se soubory, s. 58. ISBN 80-251-0808-2.)
Není-li to tak, omlouvám se.

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: