我有一个样本
$image_src = array(
'image1.jpg', //Yes
'image2.jpg', //This image is 404
'image3.jpg' //Yes
);
for($i=0; $i<count($image_src); $i++) {
if(!file_exists($image_src[$i])) {
$image_src[$i] = 'image_change.jpg';
}
}
print_r($image_src);
但是当运行结果显示所有image_change.jpg
[0] => 'image_change.jpg',
[1] => 'image_change.jpg',
[2] => 'image_change.jpg'
结果恰好是:
[0] => 'image1.jpg',
[1] => 'image_change.jpg',
[2] => 'image3.jpg'
=&gt;如何修复
答案 0 :(得分:2)
文件名必须是文件的完整路径,请确保在调用之前设置文件的基目录。
for($i=0; $i<count($image_src); $i++) {
if(!file_exists($imageBaseDir . '/'. $image_src[$i])) {
$image_src[$i] = 'image_change.jpg';
}
}
答案 1 :(得分:1)
您想使用file_exists()
,而不是file_exist()
。