如何在 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 上。显然,斜杠的混合会让 Windows 感到困惑。
I'm building a path string in PHP. I need it to work across platforms (i.e., Linux, Windows, OS X).
I'm doing this:
$path = $someDirectory.'/'.$someFile;
Assume $someDirectory
and $someFile
are formatted correctly at run-time on the various platforms. This works beautifully on Linux and OS X, but not on Windows. The issue is the /
character, which I thought would work for Windows.
Is there a PHP function or some other trick to switch this to \
at runtime on Windows?
EDIT: Just to be clear, the resultant string is
c:\Program Files (x86)\Sitefusion\Sitefusion.org\Defaults\pref/user.preferences
on Windows. Obviously the mix of slashes confuses Windows.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
尝试这个
DIRECTORY_SEPARATOR
或者您可以定义您的
Try this one
DIRECTORY_SEPARATOR
or you can define yours
http://php.net/manual/en/function.php-uname.php
http://php.net/manual/en/function.php-uname.php