从root检查文件是否存在

时间:2012-07-14 16:54:14

标签: php file-exists document-root

我尝试了以下代码来检查root文件是否存在。

if($res['profile_picture']!="" && file_exists("images/".$res['users_id']."/thumnails/".$res['profile_picture'])){
    $photo_p="images/".$res['users_id']."/thumnails/".$res['profile_picture'];
}

它仅适用于根目录而非子目录。

我不确定函数file_exist是否检查绝对路径和相对路径,所以我尝试添加ROOT和$_SERVER['DOCUMENT_ROOT']。但它仍然没有成功。

任何帮助?

2 个答案:

答案 0 :(得分:3)

对于代码可移植性,我建议您始终在file_exists()等函数中使用绝对路径,否则在将多个文件包含在不同目录中和/或以CLI模式运行时,您可能会感到头疼。

您的代码中可能未定义

ROOT常量。此外,在某些情况下,$_SERVER['DOCUMENT_ROOT']无法依赖,即当您使用vhost_alias apache模块时。

通常,

file_exists("{$_SERVER['DOCUMENT_ROOT']}/images/{$res['users_id']}/thumnails/{$res['profile_picture']}")

应该适合你。

答案 1 :(得分:0)

函数file_exists()会准确检查您提供给它的路径。那里没有奇特的魔力。

将它设为绝对路径,它将检查该路径。交给它一个相对路径,它将从当前工作目录中检查。您可能想要考虑一下您的工作目录究竟是什么。

相关问题