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下操作Linux消息队列完成进程间通信的方法
Jul 24 PHP
PHP学习之数组的定义和填充
Apr 17 PHP
使用php计算排列组合的方法
Nov 13 PHP
PHP生成自适应大小的缩略图类及使用方法分享
May 06 PHP
PHP数组遍历知识汇总(包含遍历方法、数组指针操作函数、数组遍历测速)
Jul 05 PHP
php实现发送微信模板消息的方法
Mar 07 PHP
php使用timthumb生成缩略图的方法
Jan 22 PHP
php单链表实现代码分享
Jul 04 PHP
PHP7标量类型declare用法实例分析
Sep 26 PHP
php 判断IP为有效IP地址的方法
Jan 28 PHP
ThinkPHP框架实现导出excel数据的方法示例【基于PHPExcel】
May 12 PHP
ThinkPHP框架获取最后一次执行SQL语句及变量调试简单操作示例
Jun 13 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生成随机密码的几种方法
2011/01/17 PHP
php使用function_exists判断函数可用的方法
2014/11/19 PHP
Yii中使用PHPExcel导出Excel的方法
2014/12/26 PHP
PHP Opcache安装和配置方法介绍
2015/05/28 PHP
必须收藏的23个php实用代码片段
2016/02/02 PHP
PHP中register_shutdown_function函数的基础介绍与用法详解
2017/11/28 PHP
javascript对象的property和prototype是这样一种关系
2007/03/24 Javascript
jQuery+easyui中的combobox实现下拉框特效
2015/02/27 Javascript
利用jQuery实现漂亮的圆形进度条倒计时插件
2015/09/30 Javascript
Vue 中mixin 的用法详解
2018/04/23 Javascript
JavaScript实现京东购物放大镜和选项卡效果的方法分析
2018/07/05 Javascript
node.js中ws模块创建服务端和客户端,网页WebSocket客户端
2019/03/06 Javascript
Vue 修改网站图标的方法
2020/12/31 Vue.js
Python控制多进程与多线程并发数总结
2016/10/26 Python
Python探索之URL Dispatcher实例详解
2017/10/28 Python
python实现百万答题自动百度搜索答案
2018/01/16 Python
python做量化投资系列之比特币初始配置
2018/01/23 Python
Python爬虫实现获取动态gif格式搞笑图片的方法示例
2018/12/24 Python
Python中查看变量的类型内存地址所占字节的大小
2019/06/26 Python
Python matplotlib实时画图案例
2020/04/23 Python
Python实现进度条和时间预估的示例代码
2020/06/02 Python
Python基于字典实现switch case函数调用
2020/07/22 Python
Meli Melo官网:名媛们钟爱的英国奢侈手包品牌
2017/04/17 全球购物
安全的后院和健身蹦床:JumpSport
2019/07/15 全球购物
美国儿童服装、家具和玩具精品店:Maisonette
2019/11/24 全球购物
Michael Kors香港官网:美国奢侈品品牌
2019/12/26 全球购物
高级Java程序员面试要点
2013/08/02 面试题
师范学院教师自荐书
2014/01/31 职场文书
租房协议书
2014/04/10 职场文书
社区精神文明建设汇报材料
2014/08/17 职场文书
群众路线教育实践活动思想汇报(2014特荐篇)
2014/09/16 职场文书
写给妈妈的感谢信
2015/01/22 职场文书
2016年毕业实习心得体会范文
2015/10/09 职场文书
pycharm无法导入lxml的解决办法
2021/03/31 Python
vue实现书本翻页动画效果实例详解
2022/04/08 Vue.js
python神经网络Xception模型
2022/05/06 Python