2010-02-19 129 views
2

我使用下面的语句返回运行脚本的目录名称:什么路径可以接受?

print dirname(__FILE__); 

它输出这样的事情与后台斜线:

www\EZPHP\core\ezphp.php 

问:

是所有主要操作系统都可以使用反斜杠路径?如果不是,我应该如何使用斜杠或反斜杠构建路径,以便在所有主要操作系统(例如Windows,Linux,Ubuntu)上均可接受。

谢谢。

回答

2

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

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

我在为所有应用程序编写路径时使用了正斜杠,并且当我展开一个返回路径的调用结果时,我经常使用DIRECTORY_SEPARATOR,以便确保始终有正确的路径。

HTH, 的Jc

2

我会正常化,以正斜杠。 Windows接受正斜杠,他们是在* nix系统默认

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

+0

@Ross:“它们是* nix系统上的默认值”。所以正斜杠在* nix系统上是默认的,但是它们支持反斜杠? – Sarfraz 2010-02-19 17:52:57

1

在现实中,也不要紧......这是因为目录名()不一定返回反斜线:它返回什么目录分隔符被操作系统使用。也就是说,不管dirname返回的是你应该使用的分隔符。

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

1

没关系,目录名()总是在OS格式返回路径。

dirname('c:/x'); // returns 'c:\' 
dirname('c:/Temp/x'); // returns 'c:/Temp' 
dirname('/x'); // returns '\' 
相关问题