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

php 中 DIRECTORY_SEPARATOR 常量和 PATH_SEPARATOR常量讲解

发布时间:2020-12-13 05:17:27 所属栏目:PHP教程 来源:网络整理
导读:一 DIRECTORY_SEPARATOR php的内置变量DIRECTORY_SEPARATOR是一个显示系统分隔符的命令,DIRECTORY_SEPARATOR是php的内部常量,不需要任何定义与包含即可直接使用。 DIRECTORY_SEPARATOR:路径分隔符。 linux上就是/ windows上是 or / 在 Windows 中,斜线(

一 DIRECTORY_SEPARATOR

php的内置变量DIRECTORY_SEPARATOR是一个显示系统分隔符的命令,DIRECTORY_SEPARATOR是php的内部常量,不需要任何定义与包含即可直接使用。

DIRECTORY_SEPARATOR:路径分隔符。

linux上就是‘/’

windows上是‘’ or ‘/’

在 Windows 中,斜线(/)和反斜线()都可以用作目录分隔符,在linux上路径的分隔符是/,这就导致了一个问题,比如开发机器是windows,有一个图片上传程序,,而我们又使用了()作为文件分隔符,调试机器上指定的上传文件保存目录是:

define('ROOT',dirname(__FILE__)."upload")

在本地调试都很正常,但是上传到linux服务器的时候会发现会出错。


这个问题就是出在文件的分隔符上,windows上习惯性的使用作为文件分隔符,但是在linux上人家是不认识这个标识的,人家只认识/,于是就要引入下面这个php内置变量了:DIRECTORY_SEPARATOR。


上面的写法可以改写为以下无错写法:

define('ROOT',dirname(__FILE__).DIRECTORY_SEPARATOR."upload");

二 PATH_SEPARATOR

PATH_SEPARATOR:include多个路径使用,在windows下,当你要include多个路径的话,你要用”;”隔开,但在linux下就使用”:”隔开的。

实例:

set_include_path(

??? implode(PATH_SEPARATOR,array(

??????? $docRoot,?????????????????????????? // document root

??????? get_include_path(),???????????????? // old include path,

??????? $docRoot . 'scripts/lib/',????????? // local php library

)));

这2个常量的使用能够避免不同平台的兼容性问题。

(编辑:李大同)

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

    推荐文章
      热点阅读