加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP:跨OS的路径通用化的一种好方法(斜线方向)

发布时间:2020-12-13 13:12:14 所属栏目:PHP教程 来源:网络整理
导读:我唯一关心的是能够处理跨OS的路径,主要是关于目录分隔符的后退和正斜杠. 我当时正在使用DIRECTORY_SEPARATOR: 写作很长 路径可能来自不同的来源,不一定由您控制 我目前正在使用: function pth($path) { $runningOnWindows = (strtoupper(substr(PHP_OS,3)
我唯一关心的是能够处理跨OS的路径,主要是关于目录分隔符的后退和正斜杠.

我当时正在使用DIRECTORY_SEPARATOR:

>写作很长
>路径可能来自不同的来源,不一定由您控制

我目前正在使用:

function pth($path)
    {
        $runningOnWindows = (strtoupper(substr(PHP_OS,3)) === 'WIN');
        $slash = $runningOnWindows ? '' : '/';
        $wrongSlash = $runningOnWindows ? '/' : '' ;
        return (str_replace($wrongSlash,$slash,$path));
    }

只是想知道我正在重新发明的语言中没有任何内容,

是否已经有一个内置的PHP功能来做到这一点?

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);

但是,这根本不需要,因为每个操作系统都将正斜杠/理解为有效的目录分隔符(甚至是窗口).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读