2013-02-20 15 views
10

मैं एक संपत्ति पोर्टल को कोड करने के बीच में हूं। मैं छवियों की जांच पर फंस गया हूँ। मुझे पता है कि एक छवि यूआरएल सेट है या नहीं। लेकिन समस्या यह पता लगा रही है कि वास्तव में यूआरएल पर एक वैध छवि है या नहीं।जांचें कि छवि मौजूद है php

उदाहरण: http://property.images.themovechannel.com/cache/7217/6094437/img_main.jpg

इस छवि यूआरएल मौजूद है, लेकिन छवि अब निकाल दी गई है तो यह सिर्फ अपनी propety खोज पृष्ठ में खाली प्रदर्शित करता है। क्या यूआरएल पर वहां एक छवि है और फिर प्लेसहोल्डर को प्रदर्शित करने का कोई तरीका है यदि यह अस्तित्व में नहीं है।

कुछ

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

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

की तरह लेकिन सभी यह करता है यूआरएल मौजूद है, जो यह सिर्फ कोई वहाँ

धन्यवाद छवि पहले से नहीं है करता है की जाँच

+0

शायद आप वापस आ HTML में एक टैग के लिए देख सकते के भौतिक पथ देना चाहिए? – silkfire

+0

मैं इसके बारे में सोच रहा था लेकिन पृष्ठ बहुत बड़ी तरह से फ्लाई पर यह करना चाहता था कि एफपी –

+0

के साथ आप एक छवि को लिंक पोस्ट कर सकते हैं जो _does_ मौजूद है? – silkfire

उत्तर

24

उपयोग getimagesize() सुनिश्चित करना है कि यूआरएल एक मान्य छवि को इंगित करता है।

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

बाहरी यूआरआई के लिए यह बहुत धीमी गति है। – pltvs

+0

यदि फ़ाइल मौजूद नहीं है तो यह php नोटिस का कारण बनता है। इस फ़ंक्शन का उपयोग "@" के साथ खराब तरीके से करें, इसलिए मुझे लगता है कि बेहतर तरीका यह है कि @ plutov.by ने – Vaha

+0

@ वाहा नोट का वर्णन किया है, हालांकि प्लूटोव का जवाब यह जवाब नहीं करता है, यह केवल यह जांचता है कि कोई विशेष URL मौजूद है या नहीं। –

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

यदि छवि मौजूद है आप जाँच कर सकते हैं use file_exists समारोह लेकिन आप छवि

if (file_exists(dirname($_SERVER['SCRIPT_FILENAME']).'/'.$filename))   
{ 
    // your code here 
} 
संबंधित मुद्दे