在数组php中使用file_exist时出错?

时间:2012-12-10 15:54:51

标签: php

我有一个样本

$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;如何修复

2 个答案:

答案 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()