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传输数据的代码
Nov 13 PHP
用PHP为SHOPEX增加日志功能代码
Jul 02 PHP
PHP中改变图片的尺寸大小的代码
Jul 17 PHP
php中如何同时使用session和cookie来保存用户登录信息
Jul 05 PHP
ThinkPHP之foreach标签使用概述
Jun 30 PHP
PHP中的reflection反射机制测试例子
Aug 05 PHP
PHP中cookie和session的区别实例分析
Aug 28 PHP
PHP保存带BOM文件的方法
Feb 12 PHP
php访问数组最后一个元素的函数end()用法
Mar 18 PHP
MacOS 安装 PHP的图片裁剪扩展Tclip
Mar 25 PHP
php微信公众平台开发之获取用户基本信息
Aug 17 PHP
PHP闭包函数传参及使用外部变量的方法
Mar 15 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
mysql 全文搜索 技巧
2007/04/27 PHP
PHP安装GeoIP扩展根据IP获取地理位置及计算距离的方法
2016/07/01 PHP
Ubuntu VPS中wordpress网站打开时提示”建立数据库连接错误”的解决办法
2016/11/03 PHP
phpStudy 2016 使用教程详解(支持PHP7)
2017/10/18 PHP
javascript 事件绑定问题
2011/01/01 Javascript
7款风格新颖的jQuery/CSS3菜单导航分享
2013/04/23 Javascript
JavaScript学习笔记之定时器
2015/01/22 Javascript
基于Jquery实现表单验证
2020/07/20 Javascript
详解JavaScript基于面向对象之创建对象(1)
2015/12/10 Javascript
使用nodejs中httpProxy代理时候出现404异常的解决方法
2016/08/15 NodeJs
Node.js包管理器Yarn的入门介绍与安装
2016/10/17 Javascript
教你一步步用jQyery实现轮播器
2016/12/18 Javascript
vue组件初学_弹射小球(实例讲解)
2017/09/06 Javascript
JavaScript实现图片本地预览功能【不用上传至服务器】
2017/09/20 Javascript
微信小程序中吸底按钮适配iPhone X方案
2017/11/29 Javascript
js实现无限瀑布流实例方法
2019/09/16 Javascript
mpvue微信小程序的接口请求fly全局拦截代码实例
2019/11/13 Javascript
JavaScript WeakMap使用详解
2021/02/05 Javascript
[47:43]Alliance vs KG 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
Python脚本实现代码行数统计代码分享
2015/03/10 Python
python制作小说爬虫实录
2017/08/14 Python
python-docx修改已存在的Word文档的表格的字体格式方法
2018/05/08 Python
Pycharm 操作Django Model的简单运用方法
2018/05/23 Python
Python寻找路径和查找文件路径的示例
2019/07/10 Python
如何将你的应用迁移到Python3的三个步骤
2019/12/22 Python
python数据类型强制转换实例详解
2020/06/22 Python
python获取本周、上周、本月、上月及本季的时间代码实例
2020/09/08 Python
python中使用np.delete()的实例方法
2021/02/01 Python
后勤人员自我鉴定
2013/10/20 职场文书
自荐信怎么写呢?
2013/12/09 职场文书
银行柜员与客户起冲突检讨书
2014/09/27 职场文书
vue Element-ui表格实现树形结构表格
2021/06/07 Vue.js
java objectUtils 使用可能会出现的问题
2022/02/28 Java/Android
详解pytorch创建tensor函数
2022/03/22 Python
Centos系统通过Docker安装并搭建MongoDB数据库
2022/04/12 MongoDB
Java Spring读取和存储详细操作
2022/08/05 Java/Android