PHP文件存在不工作/错误

时间:2016-02-09 23:43:27

标签: php

我遇到了PHP的file_exists()问题。我已经阅读了手册并阅读了其他一些帖子。我似乎错过了一些东西,因为我的代码无法检索我的文件。任何人都可以提供一些见解吗?

echo $large_image_location;

输出:images / portfolio / drawings / DRAWING_1.jpg

以下产生“no”,因为它找不到文件:

if (file_exists($large_image_location)){
  echo "yes";}
else{
  echo "no";
}

以下是肯定的:

if (file_exists("images/portfolio/DRAWINGS/DRAWING_1.jpg")){
  echo "yes";}
else{
  echo "no";
}

任何人都可以帮忙(并告诉我原因)?我需要使用动态变量...

谢谢,

-Allan

2 个答案:

答案 0 :(得分:0)

我猜测发生了什么:在您测试该文件是否存在时,它仍然位于网络服务器上的临时目录中,假设您正在使用POST方法。 您可以使用由$_FILES['userfile']['tmp_name']

指定的文件位置在该临时位置对其进行测试

在此处阅读:http://php.net/manual/en/features.file-upload.post-method.php

  

默认情况下,文件将存储在服务器的默认临时目录...

true从将文件从临时位置移动到您选择的最终休息位置是一种2鸟1石方式来检查文件的存在:

if (move_uploaded_file($_FILES['userfile']['tmp_name'], $large_image_location)) {
    echo "File is valid, and was successfully uploaded.\n";
} else { // File doesn't exist, could not be moved, this is a problem 
}

答案 1 :(得分:-1)

尝试改为

if (file_exists($_SERVER['DOCUMENT_ROOT'].$large_image_location)){
   echo "yes";}
else{
   echo "no";
}