php - 从根目录检查文件是否存在

标签 php file-exists document-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']。但还是没有成功。

有什么帮助吗?

最佳答案

为了代码的可移植性,我建议您始终在 file_exists() 等函数中使用绝对路径,否则当您在不同目录中包含多个文件和/或在 CLI 模式下运行时,您可能会崩溃。

ROOT 常量可能未在您的代码中定义。此外,$_SERVER['DOCUMENT_ROOT'] 在某些情况下无法依赖,即当您使用 vhost_alias apache 模块时。

一般来说,

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

应该适合你。

关于php - 从根目录检查文件是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11485621/

相关文章:

PHP获取文档根目录之外的文件

windows - Apache DocumentRoot 到虚拟主机的网络目录

php - JQuery/JSONP/PHP - Firefox 可以,但在 Chrome 和 Opera 上不起作用

php - 复制并修改数组

php - 使用 POST 方法隐藏 URL 参数

makefile - 简单检查现有文件时 Makefile 出错

php - Drupal:如何在链接内呈现跨度?

php - file_exists 或 getimagesize 仅适用于本地绝对文件路径,但不适用于 PHP 中的 URL

php如何在不知道扩展名的情况下从url获取图像

Lighttpd:让子路径指向不同的文档根目录