Intereting Posts

Как получить независимый от платформы сепаратор каталога в PHP?

Я строю строку пути в PHP. Мне нужно, чтобы он работал на разных платформах (например, Linux, Windows, OS X). Я делаю это:

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

Предположим, что $someDirectory и $someFile правильно отформатированы во время выполнения на разных платформах. Это прекрасно работает на Linux и OS X, но не на Windows. Проблема в том, что / character, который, как я думал, будет работать для Windows.

Есть ли функция PHP или какой-либо другой трюк, чтобы переключить ее на \ во время выполнения в Windows?

EDIT: чтобы быть понятным, результирующая строка

 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