我遇到了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
答案 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";
}