什么路径可以接受?

时间:2010-02-19 17:38:41

标签: php path operating-system

我使用下面的语句来返回正在运行的脚本的目录名:

print dirname(__FILE__);

它用反斜杠输出这样的东西:

www\EZPHP\core\ezphp.php

问题:

所有主要操作系统都可以接受反斜杠的路径吗?如果没有,我应该如何使用斜杠或反斜杠构造路径,以便在所有主要操作系统上都可以接受,例如Windows,Linux,Ubuntu。

谢谢。

4 个答案:

答案 0 :(得分:2)

我会将其标准化以转发斜线。 Windows接受正斜杠,它们是* nix系统上的默认值

print str_replace('\\','/',dirname(__FILE__));

答案 1 :(得分:2)

正斜线是一条很好的路线。

还有一个名为DIRECTORY_SEPARATOR的常量,它将返回运行代码的系统的目录分隔符。

当我为所有应用程序编写路径时,我使用正斜杠,当我爆炸返回路径的调用结果时,我经常使用DIRECTORY_SEPARATOR,以便我可以确保我总是有正确的突破。< / p>

HTH, JC

答案 2 :(得分:1)

实际上,这没关系...这是因为dirname()不一定返回反斜杠:它返回操作系统使用的任何目录分隔符。也就是说,无论dirname返回的是你应该使用的分隔符。

除此之外,只需使用正斜杠:PHP将在Windows和Linux中正确解释它。

答案 3 :(得分:1)

无所谓,dirname()始终以OS格式返回路径。

dirname('c:/x'); // returns 'c:\'
dirname('c:/Temp/x'); // returns 'c:/Temp'
dirname('/x'); // returns '\'