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+oracle 分页类
Oct 09 PHP
建站常用13种PHP开源CMS比较
Aug 23 PHP
PHP实现删除非站内外部链接实例代码
Jun 17 PHP
php使用socket post数据到其它web服务器的方法
Jun 02 PHP
Smarty foreach控制循环次数的一些方法
Jul 01 PHP
PHP抽奖算法程序代码分享
Oct 08 PHP
PHP 中 Orientation 属性判断上传图片是否需要旋转
Oct 16 PHP
PHP控制前台弹出对话框的实现方法
Aug 21 PHP
PHP 实现人民币小写转换成大写的方法及大小写转换函数
Nov 17 PHP
PHP中遍历数组的三种常用方法实例分析
Jun 24 PHP
微信推送功能实现方式图文详解
Jul 12 PHP
php 中self,this的区别和操作方法实例分析
Nov 04 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
thinkphp循环结构用法实例
2014/11/24 PHP
PHP5.6新增加的可变函数参数用法分析
2017/08/25 PHP
CentOS7.0下安装PHP5.6.30服务的教程详解
2018/09/29 PHP
laravel中的fillable和guarded属性详解
2019/10/23 PHP
PHP实现Markdown文章上传到七牛图床的实例内容
2020/02/11 PHP
JavaScript中Array 对象相关的几个方法
2006/12/22 Javascript
dropdownlist之间的互相联动实现(显示与隐藏)
2009/11/24 Javascript
AJAX 网页保留浏览器前进后退等功能
2011/02/12 Javascript
分享20多个很棒的jQuery 文件上传插件或教程
2011/09/04 Javascript
五段实用的js高级技巧
2011/12/20 Javascript
jquery入门—数据删除与隔行变色以及图片预览
2013/01/07 Javascript
Javascript之this关键字深入解析
2013/11/12 Javascript
当达到输入长度时表单自动切换焦点
2014/04/06 Javascript
jquery 根据name名获取元素的value值
2015/02/27 Javascript
在AngularJS应用中实现一些动画效果的代码
2015/06/18 Javascript
基于jQuery实现左右图片轮播(原理通用)
2015/12/24 Javascript
JavaScript简单实现弹出拖拽窗口(一)
2016/06/17 Javascript
JS判断是否为JSON对象及是否存在某字段的方法(推荐)
2016/11/29 Javascript
BootStrap Table 获取同行不同列元素的方法
2016/12/19 Javascript
js获取json中key所对应的value值的简单方法
2020/06/17 Javascript
jquery实现tab键进行选择后enter键触发click行为
2017/03/29 jQuery
bootstrap suggest下拉框使用详解
2017/04/10 Javascript
Node+Express+MongoDB实现登录注册功能实例
2017/04/23 Javascript
JS实现页面打印(整体、局部)
2017/08/18 Javascript
angular4强制刷新视图的方法
2018/10/09 Javascript
Node.js实现简单管理系统
2019/09/23 Javascript
浅谈webpack和webpack-cli模块源码分析
2020/01/19 Javascript
Python网络编程中urllib2模块的用法总结
2016/07/12 Python
Python基于回溯法子集树模板解决m着色问题示例
2017/09/07 Python
Python使用字典的嵌套功能详解
2019/02/27 Python
Django Admin后台模型列表页面如何添加自定义操作按钮
2020/11/11 Python
Python爬虫获取op.gg英雄联盟英雄对位胜率的源码
2021/01/29 Python
学生会竞选演讲稿怎么写
2014/08/26 职场文书
机关干部四风问题自我剖析及整改措施
2014/10/26 职场文书
贵阳市党的群众路线教育实践活动党(工)委领导班子整改方案
2014/10/26 职场文书
会计试用期工作总结2015
2015/05/28 职场文书