PHP - 如何访问文件的正确路径?

Posted

技术标签:

【中文标题】PHP - 如何访问文件的正确路径?【英文标题】:PHP - how to access right path to file? 【发布时间】:2015-02-02 00:16:36 【问题描述】:
$filename='../uploadedimages/project-'.$item->id.'-'.$imgId;
$filename=$_SERVER['DOCUMENT_ROOT'].'/uploadedimages/project-'.$item->id.'-'.$imgId;

我试图同时使用第一种和第二种方法来查找文件路径并验证文件是否存在 file_exists()。第一个不起作用,因为file_exists() 不接受相对路径,第二个返回错误的、不存在的路径:http://www.kvetena.local/data/www/kvetena.local/web/uploadedimages/project-4-0

正确的路径是:Z:\kvetena.local\web\uploadedimages\,但将来会改变。如何访问该文件夹中的文件?

【问题讨论】:

【参考方案1】:

如果您只使用图片,我可以建议您另一种方法来检查文件是否存在

function file_exists_url($url)
        if(@GetImageSize($url)) return true;
        else return false;
    

您可以将此功能与相对路径一起使用

【讨论】:

它不起作用,返回 false 与 '../uploadedimages/project-'.$item->id.'-'.$imgId;路径,即使文件存在【参考方案2】:

使用realpath获取绝对路径:

$absPath = realpath($filenamed);

【讨论】:

$filename='../uploadedimages/project-'.$item->id.'-'.$imgId; echo "";这不起作用 - 返回空的“”路径 它可能返回空字符串,因为realpath返回了false。阅读有关此案例的手册部分:这可能是因为文件不存在或运行脚本的用户没有权限而发生。

以上是关于PHP - 如何访问文件的正确路径?的主要内容,如果未能解决你的问题,请参考以下文章

PHP 网站如何修改默认访问文件的nginx配置

存储访问框架获取正确的 Uri 路径删除/编辑/获取文件

nginx/php-fpm 访问php文件直接下载而不运行

将css文件链接到html时如何正确写出本地文件的绝对路径?

怎样隐藏一部分php文件路径

php加载 GD库后 路径写的也正确 还是无法显示图片? 到底是啥原因 ? 求答案~