【发布时间】:2012-03-19 11:08:07
【问题描述】:
这不是/吗?
为什么它有一个常数?不会变吧?
【问题讨论】:
标签: php
这不是/吗?
为什么它有一个常数?不会变吧?
【问题讨论】:
标签: php
PATH_SEPARATOR 是用于分隔唯一字符串中的多个路径的字符(如 php.ini 中的 include_path)。
它的值在 UNIX 系统上是 ':',在 Windows 系统上是 ';'。
您所说的(UNIX 上的'/' 和Windows 上的'\')是DIRECTORY_SEPARATOR 常量。
【讨论】:
正如您最初的问题所述:“为什么有 PATH_SEPARATOR 常量?”,Windows 使用分号 ;,而其他系统使用冒号 :
但是我认为您将 PATH_SEPARATOR 误认为 DIRECTORY_SEPARATOR
PATH_SEPARATOR 分隔同一字符串中的多个路径。例如在 windows 环境变量中使用时。
c:\path\to\a;c:\path\to\b
DIRECTORY_SEPARATOR 分隔路径中的目录: 在 Windows 中
\
在其他系统中
/
正如其他人所说,windows也接受/
【讨论】:
cd /valid/path/。我想你会发现这行得通
cd /,你会发现它没有。
system("dir /mydirectory") - 它会抱怨,因为它认为这是dir 命令的参数。因此,尽管 PHP 支持/,但您很容易遇到奇怪的问题,因为您认为它会在任何地方 工作。我只是想指出这一点。
可以。它是 Windows 中的 \ 和 Linux 中的 /(以及几乎所有其他地方),尽管现代版本的 Windows 确实接受 / 作为分隔符。
哎呀,这是关于DIRECTORY_SEPARATOR 常量。
PATH_SEPARATOR 确实是分隔各种路径的常量,如PéCés answer 所示。
【讨论】: