she*_*iel 8 php operating-system path
我唯一关心的是能够处理跨OS的路径,主要是关于目录分隔符的后退和正斜杠.
DIRECTORY_SEPARATOR然而,我正在使用:
写作很长
路径可能来自不同的来源,不一定由您控制
我目前正在使用:
function pth($path)
{
$runningOnWindows = (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN');
$slash = $runningOnWindows ? '\\' : '/';
$wrongSlash = $runningOnWindows ? '/' : '\\' ;
return (str_replace($wrongSlash, $slash, $path));
}
Run Code Online (Sandbox Code Playgroud)
只是想知道我正在重新发明的语言中没有任何东西,
是否已经有内置的PHP功能来执行此操作?
Kin*_*nch 29
我知道DIRECTORY_SEPARATOR,
但是:1.写作很长
懒惰永远不是任何理由
$path = (DIRECTORY_SEPARATOR === '\\')
? str_replace('/', '\\', $subject)
: str_replace('\\', '/', $subject);
Run Code Online (Sandbox Code Playgroud)
要么
$path = str_replace(array('/', '\\'), DIRECTORY_SEPARATOR, $path);
Run Code Online (Sandbox Code Playgroud)
这将在一个步骤中将"正确的"替换为自身,但这并没有任何区别.
如果您确定知道路径存在,则可以使用realpath()
$path = realpath($path);
Run Code Online (Sandbox Code Playgroud)
但是,这根本不需要,因为每个操作系统都将正斜杠理解/为有效的目录分隔符(甚至是窗口).
| 归档时间: |
|
| 查看次数: |
14064 次 |
| 最近记录: |