Search code examples
phpfile-exists

PHP's file_exists() will not work for me?


For some reason this PHP code below will not work, I can not figure it out.

It is very strange, file_exists does not seem to see that the image does exist, I have checked to make sure a good file path is being inserted into the file_exists function and it is still acting up

If I change file_exists to !file_exists it will return an images that exist and ones that do not exist

define('SITE_PATH2', 'http://localhost/');

$noimg = SITE_PATH2. 'images/userphoto/noimagesmall.jpg';
$thumb_name = 'http://localhost/images/userphoto/1/2/2/59874a886a0356abc1_thumb9.jpg';
if (file_exists($thumb_name)) {
    $img_name = $thumb_name;
}else{
    $img_name = $noimg;
}
echo $img_name;

Solution

  • file_exists() needs to use a file path on the hard drive, not a URL. So you should have something more like:

    $thumb_name = $_SERVER['DOCUMENT_ROOT'] . 'images/userphoto/1/2/2/59874a886a0356abc1_thumb9.jpg';
    if(file_exists($thumb_name)) {
        some_code
    }
    

    https://www.php.net/file_exists