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 相关文章推荐
用PHP4访问Oracle815
Oct 09 PHP
用Simple Excel导出xls实现方法
Dec 06 PHP
php中的常用魔术方法总结
Aug 02 PHP
使用PHP备份MySQL和网站发送到邮箱实例代码
Nov 28 PHP
几个优化WordPress中JavaScript加载体验的插件介绍
Dec 17 PHP
PHP编程获取各个时间段具体时间的方法
May 26 PHP
PHP 7.0新增加的特性介绍
Jun 08 PHP
PHP5中使用mysqli的prepare操作数据库的介绍
Mar 18 PHP
PHP正则表达式处理函数(PCRE 函数)实例小结
May 09 PHP
PHP发送邮件确认验证注册功能示例【修改别人邮件类】
Nov 09 PHP
php框架知识点的整理和补充
Mar 01 PHP
PHP7 标准库修改
Mar 09 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中empty is_null和isset的测试
2013/06/29 PHP
php smarty模板引擎的6个小技巧
2014/04/24 PHP
PHP fastcgi模式上传大文件(大约有300多K)报错
2014/09/28 PHP
PHP如何实现跨域
2016/05/30 PHP
PHP面向对象程序设计之类与反射API详解
2016/12/02 PHP
PHP getDocNamespaces()函数讲解
2019/02/03 PHP
PHP中abstract(抽象)、final(最终)和static(静态)原理与用法详解
2020/06/05 PHP
JQuery插件Style定制化方法的分析与比较
2012/05/03 Javascript
IE6浏览器下resize事件被执行了多次解决方法
2012/12/11 Javascript
编写简单的jQuery提示插件
2014/12/21 Javascript
Bootstrap网格系统详解
2016/04/26 Javascript
jQuery弹出下拉列表插件(实现kindeditor的@功能)
2016/08/16 Javascript
jquery控制页面的展开和隐藏实现方法(推荐)
2016/10/15 Javascript
NodeJS 实现多语言的示例代码
2018/09/11 NodeJs
Element-UI中Upload上传文件前端缓存处理示例
2019/02/21 Javascript
小程序云开发教程如何使用云函数实现点赞功能
2019/05/18 Javascript
LayUI动态设置checkbox不显示的解决方法
2019/09/02 Javascript
python实现批量注册网站用户的示例
2019/02/22 Python
实例详解Python模块decimal
2019/06/26 Python
python实现图片中文字分割效果
2019/07/22 Python
使用Python实现图像标记点的坐标输出功能
2019/08/14 Python
python django 原生sql 获取数据的例子
2019/08/14 Python
Python多重继承之菱形继承的实例详解
2020/02/12 Python
外语专业毕业生个人的自荐信
2013/11/19 职场文书
最新大学职业规划书范文
2013/12/30 职场文书
会计专业求职信范文
2014/03/16 职场文书
《黄山奇石》教学反思
2014/04/19 职场文书
人力资源管理专业应届生求职信
2014/04/24 职场文书
中秋手机店促销方案
2014/06/16 职场文书
心得体会的写法
2014/09/05 职场文书
慰问信格式
2015/02/14 职场文书
2016国庆节67周年红领巾广播稿
2015/12/18 职场文书
教师正风肃纪心得体会
2016/01/15 职场文书
一篇文章了解正则表达式的替换技巧
2022/02/24 Javascript
「约定的梦幻岛」作画发布诺曼生日新绘
2022/03/21 日漫
解决MySQL报“too many connections“错误
2022/04/19 MySQL