获取图像JPG和jpg

时间:2016-05-10 11:14:08

标签: php image jpeg exists file-exists

我已经被这个问题困扰了一段时间了。 我试图在PHP中加载图像,但有jpg和JPG图像,当我尝试通过jpg加载图像时,找不到JPG(显然)

$img1 = '<img src="imgs/'.$firstImage.'.jpg"></img>';
$img2 = '<img src="imgs/'.$secondImage.'.jpg"></img>';
$img3 = '<img src="imgs/'.$thirdImage.'.jpg"></img>';
$img4 = '<img src="imgs/'.$fourthImae.'.jpg"></img>';

知道如何解决这个问题吗?

我尝试使用if_exists,但效果不佳

if (file_exists('http://website_url.nl/imgs/'.$firstImage.'.jpg')) {
    $img1 = '<img src="imgs/'.$firstImage.'.jpg"></img>';
} else  {
    $img1 = '<img src="imgs/'.$firstImage.'.JPG"></img>';
}

现在的问题是它无法通过常规jpg找到图像。例如,我尝试加载23.jpg,但脚本会尝试加载23.JPG,因为文件23.jpg不存在,而它确实存在并放在文件夹中23.JPG 1}}不是。它适用于JPG文件。例如找到DOC_202.JPG,因为DOC_202.jpg不存在,因此会加载JPG。{1}}。但是对于jpg个,它不会起作用。任何解决方案?

亲切的问候,

2 个答案:

答案 0 :(得分:2)

只需检查您本地目录中的文件,不要使用网址

if(file_exists('imgs/'.$firstImage.'.jpg')) {

大多数网址包装都不支持stat(),请参阅 http://www.php.net/manual/en/function.file-exists.php(关于php5的蓝色注释)和http://www.php.net/manual/en/wrappers.php

编辑:
PS:旁注,当使用Windows时,目录分隔符是反斜杠&#39; \&#39;,在linux上它是正斜杠&#39; /&#39;。如果您需要全局解决方案,请参阅全局常量DIRECTORY_SEPARATOR

答案 1 :(得分:0)

函数file_exists检查本地系统是否存在文件,而不是外部URL。

http://php.net/manual/en/function.file-exists.php

因此,如果将file_exists参数更改为本地地址,则应该可以正常工作。例如:

if(file_exists('/webdirectory/public_html/project/images/' . $image1 . '.jpg')){
    //do stuff
}

file_exists的区分大小写取决于它所驻留的文件系统。在unix服务器上,文件大小写,file_exists也是如此。

PHP手册中的这条评论提出了一种通过URL检查的方法:http://php.net/manual/en/function.file-exists.php#75064