1

问题:

两者,dirname()realpath()返回带有正确斜杠的路径,具体取决于您运行脚本的操作系统。

我想以可移植的方式(使用 PHP API)创建路径,所以我不必担心\/斜线。

realpath()FALSE如果路径不存在则返回。因此,这不是一种选择:

define("MY_PATH", realpath(__DIR__."/myNewDirToCreate");

在其他不同的情况下,dirname()将不能用于:

define("MY_FILE", "I/should/use/an/abstract/path/definition.file");

因为它将返回 parten 目录,而不是文件的路径。我可以自己解决问题,使用regexstring替换。但PHP它是一个跨平台的环境,我肯定在大量的 PHP 文档中遗漏了一些功能。

问题:

  • 无论使用什么操作系统运行脚本,我如何创建路径 PHP API什么操作系统运行脚本,我如何创建路径?例如path("no/matter/what/os/are/you/running/this.file\or\what\slashes\you\are\using");
4

1 回答 1

4

有一个可用的常数,它被称为DIRECTORY_SEPARATOR

$path_to_file = $directory . DIRECTORY_SEPARATOR . $file

它记录在这里: http: //php.net/manual/en/dir.constants.php#constant.directory-separator

请注意,PHP 会在内部处理此问题,因此在 Windows 上您可能会得到一个正斜杠,但它们在 PHP 中可以正常工作!

于 2013-06-13T21:23:28.527 回答