PHP的file_exists()对我不起作用?

2022-08-30 11:17:16

由于某种原因,下面的PHP代码将不起作用,我无法弄清楚。

这很奇怪,file_exists似乎没有看到图像确实存在,我已经检查以确保将一个好的文件路径插入到file_exists函数中,并且它仍在运行

如果我file_exists更改为!file_exists它将返回存在的图像和不存在的图像

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;

答案 1

file_exists()需要使用硬盘驱动器上的文件路径,而不是 URL。所以你应该有更像这样的东西:

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

http://us2.php.net/file_exists


答案 2

文档 说:

从 PHP 5.0.0 开始,此函数也可以与某些 URL 包装器起使用。有关哪些包装器支持 stat() 系列功能的列表,请参阅支持的协议/包装器列表。


推荐