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 的几个配置文件函数
Dec 21 PHP
PHP 根据IP地址控制访问的代码
Apr 22 PHP
php笔记之:初探PHPcms模块开发介绍
Apr 26 PHP
php preg_replace替换实例讲解
Nov 04 PHP
php获取淘宝分类id示例
Jan 16 PHP
ThinkPHP快速入门实例教程之数据分页
Jul 01 PHP
PHP中使用break跳出多重循环代码实例
Jan 21 PHP
人脸识别测颜值、测脸龄、测相似度微信接口
Apr 07 PHP
使用php实现网站验证码功能【推荐】
Feb 09 PHP
PHP unlink与rmdir删除目录及目录下所有文件实例代码
Feb 07 PHP
分享5个非常有用的Laravel Blade指令
May 30 PHP
PHP基本语法
Mar 31 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的PHP XML类
2006/10/09 PHP
PHP 远程文件管理,可以给表格排序,遍历目录,时间排序
2009/08/07 PHP
IE与Firefox下javascript getyear年份的兼容性写法
2007/12/20 Javascript
javascript Array.remove() 数组删除
2009/08/06 Javascript
javascript实现的在当前窗口中漂浮框的代码
2010/03/15 Javascript
jQuery EasyUI API 中文文档 - Menu菜单
2011/10/03 Javascript
jquery插件开发之实现md5插件
2014/03/17 Javascript
我的NodeJs学习小结(一)
2014/07/06 NodeJs
js中使用replace方法完成某个字符的转换
2014/08/20 Javascript
JQuery控制div外点击隐藏而div内点击不会隐藏的方法
2015/01/13 Javascript
jquery+css实现的红色线条横向二级菜单效果
2015/08/22 Javascript
利用css+原生js制作简单的钟表
2020/04/07 Javascript
Laravel中常见的错误与解决方法小结
2016/08/30 Javascript
Vue + Webpack + Vue-loader学习教程之功能介绍篇
2017/03/14 Javascript
ES6教程之for循环和Map,Set用法分析
2017/04/10 Javascript
webpack 1.x升级过程中的踩坑总结大全
2017/08/09 Javascript
Vue组件通信实践记录(推荐)
2017/08/15 Javascript
Angular实现可删除并计算总金额的购物车功能示例
2017/12/26 Javascript
通过npm或yarn自动生成vue组件的方法示例
2019/02/12 Javascript
ES6中Promise的使用方法实例总结
2020/02/18 Javascript
Python 可爱的大小写
2008/09/06 Python
Python函数可变参数定义及其参数传递方式实例详解
2015/05/25 Python
Python如何快速实现分布式任务
2017/07/06 Python
书单|人生苦短,你还不用python!
2017/12/29 Python
python list转置和前后反转的例子
2019/08/26 Python
numpy矩阵数值太多不能全部显示的解决
2020/05/14 Python
Python如何执行精确的浮点数运算
2020/07/31 Python
python uuid生成唯一id或str的最简单案例
2021/01/13 Python
css3实现文字首尾衔接跑马灯的示例代码
2020/10/16 HTML / CSS
HTML5之SVG 2D入门11—用户交互性(动画)介绍及应用
2013/01/30 HTML / CSS
法国女性内衣购物网站:Glamuse
2019/05/13 全球购物
专业技术职务聘任书
2014/03/29 职场文书
买卖合同协议书范本
2014/10/18 职场文书
2014年药店店长工作总结
2014/11/17 职场文书
导游词怎么写
2015/02/04 职场文书
Python将CSV文件转化为HTML文件的操作方法
2021/06/30 Python