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

我正在PHP中build立一个pathstring。 我需要它跨平台(即Linux,Windows,OS X)工作。 我正在这样做:

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

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

有没有一个PHP函数或一些其他技巧,在Windows上运行时切换到\

编辑:只是要清楚,结果string是

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

在Windows上。 显然,斜线混淆了Windows。

试试这个

DIRECTORY_SEPARATOR

 $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