2013-02-20 60 views
10

Bir özellik portalını kodlama ortasındayım. Görüntüleri kontrol ettim. Bir resim URL'sinin ayarlandığını nasıl kontrol edeceğimi biliyorum. Ancak sorun, aslında URL'de geçerli bir görüntü olup olmadığını tespit etmektir.Resim olup olmadığını kontrol edin php

örnek: http://property.images.themovechannel.com/cache/7217/6094437/img_main.jpg

bu sadece benim propety arama sayfasındaki boş görüntüler böylece görüntü artık kaldırılmıştır ancak bu görüntü url var. Orada url'de bir görüntü var ve daha sonra mevcut değilse bir yer tutucu görüntüleyen bir kontrol yolu var mı.

şey

$imageURL = "http://property.images.themovechannel.com/cache/7217/6094437/img_main.jpg"; 

if (exists($imageURL)) { display image } 
else { display placeholder } 

gibi Ama bütün bu does önceden orada

teşekkür sadece bir görüntüsü var does var url, kontrol etmektir

+0

döndürülen HTML bir etiket için bakabilirsiniz fiziksel yolunu vermelidir? – silkfire

+0

Bunu düşünüyordum ama sayfa çok büyük bir çeşit php ile hepsini yapmak istedim php –

+0

_does_ var olan bir görüntüye bir link gönderebilir misiniz? – silkfire

cevap

24

Kullanım getimagesize() URL'ye sağlamak için geçerli bir resme işaret eder.

if (getimagesize($imageURL) !== false) { 
    // display image 
} 
+7

Harici URI için çok yavaş bir işlev. Dosya yoksa – pltvs

+0

php Notice neden olur. Bu işlevi "@" ile kullanmak kötü bir yoldur, bu yüzden daha iyi bir şekilde @ plutov.by'nin – Vaha

+0

@Vaha Not açıkladığını düşünüyorum, ancak plutov'un cevabı bu cevabın ne yaptığını yapmaz, sadece belirli bir URL'nin var olup olmadığını kontrol eder. –

8
function exists($uri) 
{ 
    $ch = curl_init($uri); 
    curl_setopt($ch, CURLOPT_NOBODY, true); 
    curl_exec($ch); 
    $code = curl_getinfo($ch, CURLINFO_HTTP_CODE); 
    curl_close($ch); 

    return $code == 200; 
} 
0
function is_webUrl($url) { 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL, $url); 
    // don't download content 
    curl_setopt($ch, CURLOPT_NOBODY, 1); 
    curl_setopt($ch, CURLOPT_FAILONERROR, 1); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    if (curl_exec($ch) !== FALSE) { 
     return true; 
    } else { 
     return false; 
    } 
} 

if(is_webUrl('http://www.themes.tatwerat.com/wp/ah-personal/wp-content/uploads/2016/08/features-ah-wp-view.jpg')) { 
    echo 'yes i found it'; 
}else{ 
    echo 'file not found'; 
} 
0

görüntü varsa Sen use file_exists işlevi kontrol etmek olabilir ancak resmin Belki

if (file_exists(dirname($_SERVER['SCRIPT_FILENAME']).'/'.$filename))   
{ 
    // your code here 
} 
İlgili konular