我唯一关心的是能够处理跨OS的路径,主要是关于目录分隔符的后退和正斜杠.
我当时正在使用DIRECTORY_SEPARATOR:
>写作很长
>路径可能来自不同的来源,不一定由您控制
我目前正在使用:
function pth($path) { $runningOnWindows = (strtoupper(substr(PHP_OS,3)) === 'WIN'); $slash = $runningOnWindows ? '\\' : '/'; $wrongSlash = $runningOnWindows ? '/' : '\\' ; return (str_replace($wrongSlash,$slash,$path)); }
只是想知道我正在重新发明的语言中没有任何内容,
I’m aware of DIRECTORY_SEPARATOR,
However: 1. It’s long to write
懒惰永远不是任何理由
$path = (DIRECTORY_SEPARATOR === '\\') ? str_replace('/','\\',$subject) : str_replace('\\','/',$subject);
要么
$path = str_replace(array('/','\\'),DIRECTORY_SEPARATOR,$path);
这将在一个步骤中将“正确的”替换为自身,但这并没有任何区别.
如果您确定存在路径,则可以使用realpath()
$path = realpath($path);
但是,这根本不需要,因为每个操作系统都将正斜杠/理解为有效的目录分隔符(甚至是窗口).