如何在 PHP 中获得平台独立的目录分隔符?

我正在用 PHP 构建一个路径字符串,我需要它来跨平台工作(例如,Linux,Windows,OS X)。 我要这么做:

$path = $someDirectory.'/'.$someFile;

假设在各种平台上运行时 $someDirectory$someFile的格式正确。这在 Linux 和 OS X 上非常好用,但是在 Windows 上就不行了。问题在于 /字符,我认为它可以在 Windows 中使用。

是否有一个 PHP 函数或其他一些技巧,以切换到 \在 Windows 运行时?

编辑: 只是为了清楚,结果字符串是

c:\Program Files (x86)\Sitefusion\Sitefusion.org\Defaults\pref/user.preferences

很明显,斜杠的混合使用让 Windows 感到困惑。

61023 次浏览

试试这个

目录 _ 分离程序

$patch = $somePath. DIRECTORY_SEPARATOR .$someFile

或者你可以定义你的

PHP_OS == "Windows" ||
PHP_OS == "WINNT" ? define("SEPARATOR", "\\") : define("SEPARATOR", "/");
if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN')
define("SEPARATOR", "\\");
else
define("SEPARATOR", "/");

Http://php.net/manual/en/function.php-uname.php