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