Предопределенные константы
Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.
-
DIRECTORY_SEPARATOR
(string) -
PATH_SEPARATOR
(string) - Доступна начиная с версии PHP 4.3.0. Точка с запятой в Windows, двоеточие в других системах.
-
SCANDIR_SORT_ASCENDING
(integer) - Доступна начиная с версии PHP 5.4.0.
-
SCANDIR_SORT_DESCENDING
(integer) - Доступна начиная с версии PHP 5.4.0.
-
SCANDIR_SORT_NONE
(integer) - Доступна начиная с версии PHP 5.4.0.
Коментарии
For my part I'll continue to use this constant because it seems more future safe and flexible, even if Windows installations currently convert the paths magically. Not that syntax aesthetics matter but I think it can be made to look attractive:
<?php
$path = join(DIRECTORY_SEPARATOR, array('root', 'lib', 'file.php');
?>
In PHP 5.6 you can make a variadic function.
<?php
/**
* Builds a file path with the appropriate directory separator.
* @param string $segments,... unlimited number of path segments
* @return string Path
*/
function file_build_path(...$segments) {
return join(DIRECTORY_SEPARATOR, $segments);
}
file_build_path("home", "alice", "Documents", "example.txt");
?>
In earlier PHP versions you can use func_get_args.
<?php
function file_build_path() {
return join(DIRECTORY_SEPARATOR, func_get_args($segments));
}
file_build_path("home", "alice", "Documents", "example.txt");
?>