Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

check if image exists php

Tags:

php

I am in the middle of coding up a property portal. I am stuck on checking images. I know how to check if an image url is set. But the problem is detecting if there is actually a valid image at the url.

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

This image url exists but the image is has now been removed so it just displays blank in my propety search page. Is there a way of checking there is an image there at the url and then displaying a placeholder if it doesnt exist.

something like

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

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

But all this does is check the url exists, which it does there is just no image there

Thanks in advance

like image 475
Barry Connolly Avatar asked Feb 20 '13 00:02

Barry Connolly


2 Answers

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;
}
like image 58
Alex Pliutau Avatar answered Sep 23 '22 06:09

Alex Pliutau


Use getimagesize() to ensure that the URL points to a valid image.

if (getimagesize($imageURL) !== false) {
    // display image
}
like image 43
user703016 Avatar answered Sep 25 '22 06:09

user703016