我正在使用PHP,但我猜测这个问题可能与语言无关。
使用PHP,一个常量由PHP定义,称为DIRECTORY_SEPARATOR
。我在Joomla看到了这个。
define('DS', DIRECTORY_SEPARATOR);
我认为这看起来是个好主意所以我将它合并到了我的一些网站中。现在我问自己为什么。我只有Windows和OS X的经验,据我所知,Microsoft,Linux和Apple都使用正斜杠作为目录分隔符。
使用这个常量是不必要的?
答案 0 :(得分:19)
就PHP而言,在构造路径时可能不需要它,但它对于从操作系统获得的任何内容都很重要。
来自http://alanhogan.com/tips/php/directory-separator-not-necessary:
在尝试编写跨平台的可移植PHP代码时,我使用PHP的DIRECTORY_SEPARATOR常量来编写路径字符串,例如:
"..".DIRECTORY_SEPARATOR."foo"
,因为在Windows上执行此操作的“正确”方式是"..\foo"
,而在其他所有方面(Linux,UNIX,Mac OS X),它将是"../foo"
。好吧,正如Christian php.net所指出的那样,网页设计论坛的人们证实,这完全是不必要的。只要你使用正斜杠“/”,你就可以了。 Windows并不介意它,它最适合* nix操作系统。
(请注意,
DIRECTORY_SEPARATOR
对explode
之类的内容仍有用 - 这是系统给你的路径。感谢Shadowfiend指出这一点。)
答案 1 :(得分:18)
答案 2 :(得分:6)
Windows实际上使用反斜杠作为目录分隔符,尽管某些具有Windows版本的环境会自动在正斜杠和反斜杠之间进行转换(Python会浮现在脑海中)。