file_exists()不运行

时间:2011-02-26 12:06:40

标签: php

$myfilepath =  SITEROOT."/uploads/vaibhav_photo/thumbnail/".$user_avatar['thumbnail'];
if(file_exists($myfilepath))
{
  echo "file exist";
}
else
{
  echo "file does not exist";
}

即使文件存在,也总是转到其他部分。

如果有人在PHP中有替代选项,请尽快回复,

4 个答案:

答案 0 :(得分:6)

file_exists仅适用于文件路径。 http://个网址。

答案 1 :(得分:0)

$myfilepath = SITEROOT.DS.'uploads'.DS.'vaibhav_photo'.DS.'thumbnail'.DS.$user_avatar['thumbnail'];

注意:: SITEROOT具有实际的根路径,DS是常量DIRECTORY_SEPARATOR

答案 2 :(得分:0)

Pekka是正确的file_exists不支持http协议。

但您可以使用file_get_contents

if(file_get_contents($myfilepath)) {
    echo "file exist";
}

默认情况下,它会撤回文件的全部内容。如果这不是你想要的,你可以通过添加一些标志来优化它:

if(file_get_contents($myfilepath, false, null, 0, 1)) {
    echo "file exist";
}

此语法将返回第一个字符(如果存在)。

答案 3 :(得分:0)

使用getcwd()检查您的工作目录。

你的路径

example.com/uploads/etc/etc.jpg

是相对于当前目录解释的。这很可能就像

/var/www/example.com

所以你问file_exists()一个名为

的文件
/var/www/example.com/example.com/uploads/etc/etc.jpg

您需要找出正确的绝对路径(添加包含SITEROOT前面所有站点根目录的路径)或正确的相对路径(相对于脚本所在的目录,没有前导{{ 1}})。

tl; dr :尝试

/