温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

引入directory_separator的方法

发布时间:2021-05-10 16:14:22 来源:亿速云 阅读:132 作者:Leah 栏目:开发技术

引入directory_separator的方法?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

  directory_separator的引入

  众所周知,在windows下路径分隔符是(当然/在部分系统上也是可以正常运行的),在linux上路径的分隔符是/,这就导致了一个问题;

  比如开发机器是windows,有一个图片上传程序,调试机器上指定的上传文件保存目录是:

  define(‘ROOT’,dirname(FILE).”upload”)

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

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

  directory_separator的写法

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

  define(‘ROOT’,dirname(FILE).DIRECTORY_SEPARATOR.”upload”);

  这样就可以确保不会出错了。

  例如discuz里面是这样写的:

  define(‘S_ROOT’,dirname(FILE).DIRECTORY_SEPARATOR);

  回到问题本身上,DIRECTORY_SEPARATOR是一个返回跟操作系统相关的路径分隔符的php内置命令,在windows上返回,而在linux或者类unix上返回/,就是这么个区别,通常在定义包含文件路径或者上传保存目录的时候会用到。

  require_oncedirname(FILE).DIRECTORY_SEPARATOR.'./../../../wp-config.php';

  require_oncedirname(FILE).DIRECTORY_SEPARATOR.'inc/options.php';

  这两句PHP代码,为什么前面部分用DIRECTORY_SEPARATOR,而后面部分却用"/"呢?

  众所周知,windows下的是\和/,而LINUX下的是/

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI