PHP: How to check if image file exists?
You need the filename in quotation marks at least (as string):
if (file_exists('http://www.mydomain.com/images/'.$filename)) { … }
Also, make sure $filename
is properly validated. And then, it will only work when allow_url_fopen
is activated in your PHP config
if (file_exists('http://www.mydomain.com/images/'.$filename)) {}
This didn't work for me. The way I did it was using getimagesize.
$src = 'http://www.mydomain.com/images/'.$filename;if (@getimagesize($src)) {
Note that the '@' will mean that if the image does not exist (in which case the function would usually throw an error: getimagesize(http://www.mydomain.com/images/filename.png) [function.getimagesize]: failed
) it will return false.
Well, file_exists
does not say if a file exists, it says if a path exists. ⚡⚡⚡⚡⚡⚡⚡
So, to check if it is a file then you should use is_file
together with file_exists
to know if there is really a file behind the path, otherwise file_exists
will return true
for any existing path.
Here is the function i use :
function fileExists($filePath){ return is_file($filePath) && file_exists($filePath);}