php中常量DIRECTORY_SEPARATOR用法深入分析


Posted in PHP onNovember 14, 2014

本文实例讲述了php中常量DIRECTORY_SEPARATOR用法。分享给大家供大家参考。具体如下:

DIRECTORY_SEPARATOR在php是什么意思呢,在什么时候使用DIRECTORY_SEPARATOR最合理呢?下面来给各位介绍一下php DIRECTORY_SEPARATOR常量。

我们知道DIRECTORY_SEPARATOR是一个PHP常量,代表反斜杠,因为windows系统和linux系统的反斜杠不一样。在 Windows 中,斜线(/)和反斜线(\)都可以用作目录分隔符,在linux上路径的分隔符是"/"。

那么在PHP代码中什么时候要用DIRECTORY_SEPARATOR代表反斜杠呢?
比如这句话:

require_once dirname(__FILE__).DIRECTORY_SEPARATOR . './../../../wp-config.php';

require_once dirname(__FILE__).DIRECTORY_SEPARATOR.'inc/options.php';

这两句PHP代码,为什么前面部分用DIRECTORY_SEPARATOR,而后面部分却用"/"呢
众所周知,windows下的是\和/,而LINUX下的是/

在程序本地运行很正常,上传到服务器后,发现图片没有显示出来,图片链接是绝对路径 var/,而且当中带有 \ 但是我记得这个路径已经处理成相对路径的

$path    = dirname(dirname(dirname(__FILE__))).'\\';

$search = array( $path, '\\');

$replace = array( '', '/');

return str_replace($search,$replace,$this->tempfolder).$this->filename_prefix.$public.'.jpg';

各位也可以看出来了,第一行代码的用在LINUX "\\", 就不行。

解决的办法是 用PHP 预定义常量DIRECTORY_SEPARATOR来代替'\','/'这样的路径分隔符,以前觉得既然windows,LINUX 都支持/,那都用成 / 得了,这是没错的。可是从这个例子可以看出,当要对路径字符串进行处理的时候,就比较危险了,所以最好还是用DIRECTORY_SEPARATOR吧

希望本文所述对大家的PHP程序设计有所帮助。

PHP 相关文章推荐
下载文件的点击数回填
Oct 09 PHP
php购物车实现代码
Oct 10 PHP
PHP中“简单工厂模式”实例代码讲解
Sep 04 PHP
php+ajax导入大数据时产生的问题处理
Jun 11 PHP
phpstorm配置Xdebug进行调试PHP教程
Dec 01 PHP
php操作xml入门之xml基本介绍及xml标签元素
Jan 23 PHP
php解析http获取的json字符串变量总是空白null
Mar 02 PHP
php实现粘贴截图并完成上传功能
May 17 PHP
PHP使用数组依次替换字符串中匹配项
Jan 08 PHP
php微信公众号开发模式详解
Nov 28 PHP
PHP设计模式之委托模式定义与用法简单示例
Aug 13 PHP
Laravel框架实现的rbac权限管理操作示例
Jan 16 PHP
php使用ob_start()实现图片存入变量的方法
Nov 14 #PHP
php使用date和strtotime函数输出指定日期的方法
Nov 14 #PHP
php获取url参数方法总结
Nov 13 #PHP
PHP采用get获取url汉字出现乱码的解决方法
Nov 13 #PHP
php数组保存文本与文本反编成数组实例
Nov 13 #PHP
php一维二维数组键排序方法实例总结
Nov 13 #PHP
php生成随机颜色的方法
Nov 13 #PHP
You might like
PHP使用GIFEncoder类处理gif图片实例
2014/07/01 PHP
PHP获取当前完整URL地址的函数
2014/12/21 PHP
PHP Yii框架之表单验证规则大全
2015/11/16 PHP
ajax中get和post的说明及使用与区别
2012/12/23 Javascript
将form表单中的元素转换成对象的方法适用表单提交
2014/05/02 Javascript
JavaScript返回当前会话cookie全部键值对照的方法
2015/04/03 Javascript
Nodejs Express4.x开发框架随手笔记
2015/11/23 NodeJs
使用JQuery 加载页面时调用JS的实现方法
2016/05/30 Javascript
canvas绘制环形进度条
2017/02/23 Javascript
nginx+vue.js实现前后端分离的示例代码
2018/02/12 Javascript
JavaScript反射与依赖注入实例详解
2018/05/29 Javascript
React 无状态组件(Stateless Component) 与高阶组件
2018/08/14 Javascript
微信小程序异步API为Promise简化异步编程的操作方法
2018/08/14 Javascript
值得收藏的八个常用的js正则表达式
2018/10/19 Javascript
浅谈javascript中的prototype和__proto__的理解
2019/04/07 Javascript
JS原生瀑布流效果实现
2019/04/26 Javascript
使用VUE实现在table中文字信息超过5个隐藏鼠标移到时弹窗显示全部
2019/09/16 Javascript
vue.js使用v-model实现父子组件间的双向通信示例
2020/02/05 Javascript
全面分析Python的优点和缺点
2018/02/07 Python
python中pip的使用和修改下载源的方法
2019/07/08 Python
使用pyinstaller逆向.pyc文件
2019/12/20 Python
pandas参数设置的实用小技巧
2020/08/23 Python
HTML5制作3D爱心动画教程 献给女友浪漫的礼物
2014/11/05 HTML / CSS
天美时手表加拿大官网:Timex加拿大
2016/09/01 全球购物
荷兰鞋类购物网站:Donelli
2019/05/24 全球购物
英国最大的汽车配件在线商店:Euro Car Parts
2019/09/30 全球购物
请解释流与文件有什么不同
2016/07/29 面试题
新入职员工的自我介绍演讲稿
2014/01/02 职场文书
期终自我鉴定
2014/02/17 职场文书
空中乘务员岗位职责
2014/03/08 职场文书
基层党组织整改方案
2014/10/25 职场文书
业务员岗位职责范本
2015/04/03 职场文书
2015年幼儿园中班下学期工作总结
2015/05/22 职场文书
2015年中秋寄语
2015/07/31 职场文书
加强党性修养心得体会
2016/01/21 职场文书
VMware虚拟机安装 Windows Server 2022的详细图文教程
2022/09/23 Servers