ret*_*one 63 php directory filepath
我正在PHP中构建一个路径字符串.我需要它跨平台(即Linux,Windows,OS X)工作.我这样做:
$path = $someDirectory.'/'.$someFile;
Run Code Online (Sandbox Code Playgroud)
在各种平台上运行时假设$someDirectory并$someFile正确格式化.这适用于Linux和OS X,但不适用于Windows.问题是/我认为适用于Windows 的角色.
是否有PHP函数或其他技巧可以\在Windows上将其切换到运行时?
编辑:要清楚,结果字符串是
c:\Program Files (x86)\Sitefusion\Sitefusion.org\Defaults\pref/user.preferences
Run Code Online (Sandbox Code Playgroud)
在Windows上.显然,斜杠的混合会混淆Windows.
gen*_*sis 117
试试这个吧
DIRECTORY_SEPARATOR
$patch = $somePath. DIRECTORY_SEPARATOR .$someFile
Run Code Online (Sandbox Code Playgroud)
或者你可以定义你的
PHP_OS == "Windows" ||
PHP_OS == "WINNT" ? define("SEPARATOR", "\\") : define("SEPARATOR", "/");
Run Code Online (Sandbox Code Playgroud)
小智 8
if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN')
define("SEPARATOR", "\\");
else
define("SEPARATOR", "/");
Run Code Online (Sandbox Code Playgroud)
http://php.net/manual/en/function.php-uname.php