如何将文件保存在路径中并使用 ../../ 从不同的路径 PHP 访问它

Posted

技术标签:

【中文标题】如何将文件保存在路径中并使用 ../../ 从不同的路径 PHP 访问它【英文标题】:how to save a file in a path and access it from a different path PHP using ../../ 【发布时间】:2019-12-15 03:22:32 【问题描述】:

上传文件时,我需要将文件保存到 mysql 数据库。我得到了这个工作,但是当我上传它时,目录使用../../../返回 3 次。当我需要访问它时,我只需要向后退 2 次。我如何保存以便可以在任何地方进行评估。 这是上传代码。

$nameCover = $_FILES['cover']['name'];
$target_dirCover = "../../../contentStorage/covers/";
$target_fileCover = $target_dirCover . $_FILES["cover"]["name"];

这是什么 MySQL 看起来像

【问题讨论】:

【参考方案1】:

使用../../.. 之类的路径不是一个好主意,而是使用绝对路径:

Linux

$nameCover = $_FILES['cover']['name'];
$target_dirCover = "/home/user/web/contentStorage/covers/";
$target_fileCover = $target_dirCover . $_FILES["cover"]["name"];

Windows

$nameCover = $_FILES['cover']['name'];
$target_dirCover = "c:\\path\\to\\contentStorage\\covers\\";
$target_fileCover = $target_dirCover . $_FILES["cover"]["name"];

在这两种情况下,您都可以使用php realpath function 并检查路径

【讨论】:

以上是关于如何将文件保存在路径中并使用 ../../ 从不同的路径 PHP 访问它的主要内容,如果未能解决你的问题,请参考以下文章