我唯一关心的是能够处理跨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);
但是,这根本不需要,因为每个操作系统都将正斜杠/理解为有效的目录分隔符(甚至是窗口).