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自动更新新闻DIY
Oct 09 PHP
swfupload 多文件上传实现代码
Aug 27 PHP
PHP计划任务、定时执行任务的实现代码
Apr 23 PHP
PHP中文件缓存转内存缓存的方法
Dec 06 PHP
深入分析php中接口与抽象类的区别
Jun 08 PHP
php中利用str_pad函数生成数字递增形式的产品编号
Sep 30 PHP
PHP实现微信公众平台音乐点播
Mar 20 PHP
避免Smarty与CSS语法冲突的方法
Mar 02 PHP
基于php的CMS中展示文章类实例分析
Jun 18 PHP
Smarty高级应用之缓存操作技巧分析
May 14 PHP
PHP有序表查找之插值查找算法示例
Feb 10 PHP
PHP 范围解析操作符(::)用法分析【访问静态成员和类常量】
Apr 14 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
DC宇宙的第一个英雄,堪称动漫史鼻祖,如今成为美国文化的象征
2020/04/09 欧美动漫
php获取地址栏信息的代码
2008/10/08 PHP
php实现文件下载实例分享
2014/06/02 PHP
PDO::quote讲解
2019/01/29 PHP
php集成开发环境详解
2019/09/24 PHP
jquery 新手学习常见问题解决方法
2010/04/18 Javascript
jquery中获取select选中值的代码
2011/06/27 Javascript
js 连接数据库如何操作数据库中的数据
2012/11/23 Javascript
js/ajax跨越访问-jsonp的原理和实例(javascript和jquery实现代码)
2012/12/27 Javascript
JavaScript字符串对象replace方法实例(用于字符串替换或正则替换)
2014/10/16 Javascript
jQuery图片旋转插件jQueryRotate.js用法实例(附demo下载)
2016/01/21 Javascript
jQuery获取同级元素的简单代码
2016/07/09 Javascript
JS利用正则表达式实现简单的密码强弱判断实例
2017/06/16 Javascript
使用MUI框架模拟手机端的下拉刷新和上拉加载功能
2017/09/04 Javascript
JS实现的将html转为pdf功能【基于浏览器端插件jsPDF】
2018/02/06 Javascript
深入浅出了解Node.js Streams
2019/05/27 Javascript
JS XMLHttpRequest原理与使用方法深入详解
2020/04/30 Javascript
跟老齐学Python之有容乃大的list(3)
2014/09/15 Python
在树莓派2或树莓派B+上安装Python和OpenCV的教程
2015/03/30 Python
Python简单操作sqlite3的方法示例
2017/03/22 Python
python super的使用方法及实例详解
2019/09/25 Python
解决django model修改添加字段报错的问题
2019/11/18 Python
py-charm延长试用期限实例
2019/12/22 Python
Anaconda和ipython环境适配的实现
2020/04/22 Python
ASP.NET Core中的配置详解
2021/02/05 Python
美国Lolё官网:购买大胆而美丽的女性运动服装
2017/05/22 全球购物
英国买鞋网站:Charles Clinkard
2019/11/14 全球购物
俄罗斯厨房产品购物网站:COOK HOUSE
2021/03/15 全球购物
园艺师求职信
2014/04/27 职场文书
师德师风建设方案
2014/05/08 职场文书
2014机关干部学习“焦裕禄精神”思想汇报
2014/09/19 职场文书
先进单位申报材料
2014/12/25 职场文书
团员个人总结
2015/02/26 职场文书
中秋节感想
2015/08/10 职场文书
Golang Elasticsearches 批量修改查询及发送MQ
2022/04/19 Golang
清空 Oracle 安装记录并重新安装
2022/04/26 Oracle