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 相关文章推荐
php递归实现无限分类生成下拉列表的函数
Aug 08 PHP
PHP学习之字符串比较和查找
Apr 17 PHP
php中的filesystem文件系统函数介绍及使用示例
Feb 13 PHP
smarty中常用方法实例总结
Aug 07 PHP
thinkPHP模板算术运算相关函数用法分析
Jul 12 PHP
php_pdo 预处理语句详解
Nov 21 PHP
PHP输出XML格式数据的方法总结
Feb 08 PHP
yii2利用自带UploadedFile实现上传图片的示例
Feb 16 PHP
PHP图片水印类的封装
Jul 06 PHP
thinkPHP3.2.3结合Laypage实现的分页功能示例
May 28 PHP
浅谈PHP SHA1withRSA加密生成签名及验签
Mar 18 PHP
禁止直接访问php文件代码分享
May 05 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
海贼王:最美的悬赏令!
2020/03/02 日漫
PHP中array_merge和array相加的区别分析
2013/06/17 PHP
php简单实现查询数据库返回json数据
2015/04/16 PHP
关于PHP虚拟主机概念及如何选择稳定的PHP虚拟主机
2018/11/20 PHP
在laravel5.2中实现点击用户头像更改头像的方法
2019/10/14 PHP
Laravel框架自定义分页样式操作示例
2020/01/26 PHP
javascript 面向对象编程基础:继承
2009/08/21 Javascript
Javascript学习笔记一 之 数据类型
2010/12/15 Javascript
JavaScript常用全局属性与方法记录积累
2013/07/03 Javascript
js控制鼠标事件移动及移出效果显示
2014/10/19 Javascript
JavaScript中发布/订阅模式的简单实例
2014/11/05 Javascript
jQuery 自定义下拉框(DropDown)附源码下载
2016/07/22 Javascript
基于JavaScript实现无限加载瀑布流
2017/07/21 Javascript
JavaScript数据结构与算法之队列原理与用法实例详解
2017/11/22 Javascript
详解vuex持久化插件解决浏览器刷新数据消失问题
2019/04/15 Javascript
微信小程序单选框自定义赋值
2020/05/26 Javascript
详解JavaScript作用域、作用域链和闭包的用法
2020/09/03 Javascript
[02:43]2018DOTA2亚洲邀请赛主赛事首日TOP5
2018/04/04 DOTA
[03:12]完美世界DOTA2联赛PWL DAY6集锦
2020/11/05 DOTA
详解Python中的条件判断语句
2015/05/14 Python
Python实现遍历目录的方法【测试可用】
2017/03/22 Python
python 将对象设置为可迭代的两种实现方法
2019/01/21 Python
python实现图像检索的三种(直方图/OpenCV/哈希法)
2019/08/08 Python
python3连接MySQL8.0的两种方式
2020/02/17 Python
python 连续不等式语法糖实例
2020/04/15 Python
纯css3(无图片/js)制作的几个社交媒体网站的图标
2013/03/21 HTML / CSS
HTML5的结构和语义(1):前言
2008/10/17 HTML / CSS
TCP/IP的分层模型
2013/10/27 面试题
学生自我鉴定
2013/12/18 职场文书
大学生就业意向书范文
2014/04/01 职场文书
流动人口婚育证明
2014/10/19 职场文书
护士2015年终工作总结
2015/04/29 职场文书
导游词之太原天龙山
2020/01/02 职场文书
浅谈Python响应式类库RxPy
2021/06/14 Python
python分分钟绘制精美地图海报
2022/02/15 Python
Nginx如何限制IP访问只允许特定域名访问
2022/07/23 Servers