我使用下面的语句来返回正在运行的脚本的目录名:
print dirname(__FILE__);
它用反斜杠输出这样的东西:
www\EZPHP\core\ezphp.php
问题:
所有主要操作系统都可以接受反斜杠的路径吗?如果没有,我应该如何使用斜杠或反斜杠构造路径,以便在所有主要操作系统上都可以接受,例如Windows,Linux,Ubuntu。
谢谢。
答案 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 '\'