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 相关文章推荐
第三节--定义一个类
Nov 16 PHP
PHP开发中四种查询返回结果分析
Jan 02 PHP
php学习笔记 数组遍历实现代码
Jun 09 PHP
基于simple_html_dom的使用小结
Jul 01 PHP
PHP+jquery+ajax实现即时聊天功能实例
Dec 23 PHP
php模仿asp Application对象在线人数统计实现方法
Jan 04 PHP
PHP封装的Twitter访问类实例
Jul 18 PHP
PHP使用星号隐藏用户名,手机和邮箱的实现方法
Sep 22 PHP
替换php字符串中的单引号为双引号的方法
Feb 16 PHP
解决form中action属性后面?传递参数 获取不到的问题
Jul 21 PHP
简单实现php上传文件功能
Sep 21 PHP
详解PHP 7.4 中数组延展操作符语法知识点
Jul 19 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
php5.2时间相差8小时
2007/01/15 PHP
PHP 设置MySQL连接字符集的方法
2011/01/02 PHP
PHP迭代器实现斐波纳契数列的函数
2013/11/12 PHP
PHP文件大小格式化函数合集
2014/03/10 PHP
zf框架的registry(注册表)使用示例
2014/03/13 PHP
php获取网站百度快照日期的方法
2015/07/29 PHP
php微信开发之音乐回复功能
2018/06/14 PHP
json 入门基础教程 推荐
2009/10/31 Javascript
基于jQuery的计算文本框字数的代码
2012/06/06 Javascript
javascript返回顶部效果(自写代码)
2013/01/06 Javascript
Javascript Ajax异步读取RSS文档具体实现
2013/12/12 Javascript
javascript中apply和call方法的作用及区别说明
2014/02/14 Javascript
node.js中的fs.realpathSync方法使用说明
2014/12/16 Javascript
使用AOP改善javascript代码
2015/05/01 Javascript
js实现微博发布小功能
2017/01/12 Javascript
JavaScript实现的冒泡排序法及统计相邻数交换次数示例
2017/04/26 Javascript
xmlplus组件设计系列之网格(DataGrid)(10)
2017/05/05 Javascript
vue-cli 3.x 修改dist路径的方法
2018/09/19 Javascript
js中实例与对象的区别讲解
2019/01/21 Javascript
浅谈小程序 setData学问多
2019/02/20 Javascript
Vue的状态管理vuex使用方法详解
2020/02/05 Javascript
[02:43]DOTA2英雄基础教程 圣堂刺客
2013/12/09 DOTA
跟老齐学Python之画圈还不简单吗?
2014/09/20 Python
python 性能提升的几种方法
2016/07/15 Python
Python使用sorted排序的方法小结
2017/07/28 Python
对python cv2批量灰度图片并保存的实例讲解
2018/11/09 Python
python3使用pandas获取股票数据的方法
2018/12/22 Python
利用python实现.dcm格式图像转为.jpg格式
2020/01/13 Python
使用keras框架cnn+ctc_loss识别不定长字符图片操作
2020/06/29 Python
python 将html转换为pdf的几种方法
2020/12/29 Python
css3的focus-within选择器的使用
2020/05/11 HTML / CSS
微信浏览器取消缓存的方法
2015/03/28 HTML / CSS
教师节商场活动方案
2014/02/13 职场文书
应届生自荐信范文
2014/02/21 职场文书
神龙架导游词
2015/02/11 职场文书
《给予树》教学反思
2016/03/03 职场文书