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 相关文章推荐
基于mysql的bbs设计(三)
Oct 09 PHP
php miniBB中文乱码问题解决方法
Nov 25 PHP
php模板中出现空行解决方法
Mar 08 PHP
PHP中date()日期函数有关参数整理
Jul 19 PHP
phpmail类发送邮件函数代码
Feb 20 PHP
thinkPHP的Html模板标签使用方法
Nov 13 PHP
php获取网页请求状态程序示例
Jun 17 PHP
php选择排序法实现数组排序实例分析
Feb 16 PHP
php使用ob_flush不能每隔一秒输出原理分析
Jun 02 PHP
PHP编写学校网站上新生注册登陆程序的实例分享
Mar 21 PHP
Windows服务器中PHP如何安装redis扩展
Sep 27 PHP
如何用PHP实现分布算法之一致性哈希算法
May 26 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命令行用法入门实例教程
2014/10/27 PHP
PHP读取PPT文件的方法
2015/12/10 PHP
php 指定范围内多个随机数代码实例
2016/07/18 PHP
php实现连接access数据库并转txt写入的方法
2017/02/08 PHP
老生常谈PHP数组函数array_merge(必看篇)
2017/05/25 PHP
thinkphp 框架数据库切换实现方法分析
2020/05/18 PHP
Jquery Ajax 学习实例2 向页面发出请求 返回JSon格式数据
2010/03/15 Javascript
JavaScript 基础篇之对象、数组使用介绍(三)
2012/04/07 Javascript
jquery触发a标签跳转事件示例代码
2013/07/21 Javascript
javascript在当前窗口关闭前检测窗口是否关闭
2014/09/29 Javascript
JS处理json日期格式化问题
2015/10/01 Javascript
jQuery mobile 移动web(4)
2015/12/20 Javascript
概述jQuery的元素筛选
2016/11/23 Javascript
laydate 显示结束时间不小于开始时间的实例
2017/08/11 Javascript
Bootstrap框架建立树形菜单(Tree)的实例代码
2017/10/30 Javascript
基于Vue的移动端图片裁剪组件功能
2017/11/28 Javascript
微信小程序实现动态改变view标签宽度和高度的方法【附demo源码下载】
2017/12/05 Javascript
解决低版本的浏览器不支持es6的import问题
2018/03/09 Javascript
Vue.js实现表格渲染的方法
2018/09/07 Javascript
小程序怎样让wx.navigateBack更好用的方法实现
2019/11/01 Javascript
微信小程序分享小程序码的生成(带参数)以及参数的获取
2020/03/25 Javascript
[01:13:01]2018DOTA2亚洲邀请赛 4.4 淘汰赛 TNC vs VG 第三场
2018/04/05 DOTA
Tornado Web服务器多进程启动的2个方法
2014/08/04 Python
Python Unittest根据不同测试环境跳过用例的方法
2018/12/16 Python
用python生成(动态彩色)二维码的方法(使用myqr库实现)
2019/06/24 Python
python web框架中实现原生分页
2019/09/08 Python
python matplotlib imshow热图坐标替换/映射实例
2020/03/14 Python
详解Python流程控制语句
2020/10/28 Python
python 如何引入协程和原理分析
2020/11/30 Python
详解matplotlib中pyplot和面向对象两种绘图模式之间的关系
2021/01/22 Python
HTML5里autofocus自动聚焦属性使用介绍
2016/06/22 HTML / CSS
英国DIY和家居装饰领域的主要品牌:Wickes
2019/11/26 全球购物
Java的类可以定义为Protected或者Private得吗
2015/09/25 面试题
模具数控专业自荐信
2014/01/27 职场文书
2015年司机工作总结
2015/04/23 职场文书
微信小程序scroll-view不能左右滑动问题的解决方法
2021/07/09 Javascript