我想知道何时会在代码中使用php的PATH_SEPERATOR
。我知道它打印出一个冒号。
为什么有两个常量DIRECTORY_SEPERATOR
和PATH_SEPERATOR
,它们的名称是同义词?
我知道PATH_SEPERATOR
打印出斜杠。
当我想到路径分隔符或目录分隔符时,我想到的是/
。
使用DIRECTORY_SEPARATOR
的示例:
include 'files' . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'image.jpg';
PHP的documentation并没有多说。
答案 0 :(得分:1)
虽然人们可能认为他们有同义词,但他们的工作实际上却完全不同。
在构建文件夹或文件的路径时使用DIRECTORY_SEPARATOR
。
在为路径集合构建字符串时使用PATH_SEPARATOR
,PATH_SEPARATOR
用于分隔该集合中的各个路径。
示例:
$location1 = "include_folder".DIRECTORY_SEPARATOR."subfolder1"; $location2 = "include_folder".DIRECTORY_SEPARATOR."subfolder2"; $path_collection = $location1.PATH_SEPARATOR.$location2;
答案 1 :(得分:0)
DIRECTORY_SEPARATOR
用于分隔单个路径的元素。 PATH_SEPARATOR
用于将多个路径分隔为单个值,例如在include_path
。
答案 2 :(得分:0)
DIRECTORY_SEPERATOR
分隔目录(/或\),例如
/home/your_user_name
PATH_SEPERATOR
分隔路径(:或;),例如
/home/your_user_name:/var/www/web0
请注意,只要您坚持DIRECTORY_SEPERATOR
,就不必使用/
。 Windows和Linux都理解这一点。
答案 3 :(得分:0)
这不仅仅是php。通常,目录分隔符和路径分隔符是两个不同的东西。
目录分隔符包含一个目录。例如,在unix上,a/b/c
有一个目录分隔符或'/'
。在Windows上,它(可能是:-)为a\b\c
,分隔符为'\\'
(转义的额外反斜杠: - )。
路径分隔符描述多个目录...例如,请考虑以下搜索路径:
/bin:/usr/bin:/home/me/bin
在包含3个目录的搜索路径中。 3个目录中的每一个都使用'/'作为其DIRECTORY_SEPARATOR,但整个搜索路径使用PATH_SEPARATOR':'来分隔组成目录。
这意味着,首先查看/ bin,然后如果没有,请查看/ usr / bin,如果没有,请查看/ home / me / bin。
希望这有帮助。