在 PHP 中合并目录和文件名(相当于 Path.在 .Net 中合并)

php
2022-08-30 12:26:38

这应该是一个简单的问题,但我只是想不起相关的API。在谷歌上使用术语“合并目录名称php”进行搜索不会产生任何结果。所以我想我通过问这个问题来为自己和编程社区做一项服务。这现在是谷歌和DDG返回的顶部条目!

如何在PHP中结合目录和文件名形成完整的文件路径?假设目录名称为 “”,文件名为 “”。该方法应该在Windows“”上返回我。当然,该方法应该在Linux或其他操作系统中返回正确的文件路径。D:\setup programmj.txtD:\setup program\mj.txt

.Net中的相关函数是Path.Combine,但在PHP中,我不记得了,即使我以前一定见过它。


答案 1
$filepath = $path . DIRECTORY_SEPARATOR . $file;

虽然在较新版本的PHP中,斜杠走哪条路并不重要,所以总是使用正斜杠是可以的。

您可以使用 realpath() 获得正确的绝对路径,这也将删除诸如额外不必要的斜杠之类的内容,并解析引用,例如 .如果路径无效,它将返回 false。../


答案 2

我认为最干净,最灵活的方法是使用joil函数加上DIRECTORY_SEPARATOR常量:

$fullPath = join(DIRECTORY_SEPARATOR, array($directoryPath, $fileName));

推荐