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 相关文章推荐
桌面中心(四)数据显示
Oct 09 PHP
收集的DedeCMS一些使用经验
Mar 17 PHP
php strtotime 函数UNIX时间戳
Jan 14 PHP
详解PHP内置访问资源的超时时间 time_out file_get_contents read_file
Jun 03 PHP
PHP中使用smarty生成静态文件的例子
Apr 24 PHP
PHP微信公众号自动发送红包API
Jun 01 PHP
深入理解PHP类的自动载入机制
Sep 16 PHP
浅谈PHP命令执行php文件需要注意的问题
Dec 16 PHP
Yii框架引用插件和ckeditor中body与P标签去除的方法
Jan 19 PHP
php判断电子邮件是否正确方法
Dec 04 PHP
php封装的pdo数据库操作工具类与用法示例
May 08 PHP
php判断IP地址是否在多个IP段内
Aug 18 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中使用数组实现堆栈数据结构的代码
2012/02/05 PHP
php使用cookie保存登录用户名的方法
2015/01/26 PHP
php实现curl模拟ftp上传的方法
2015/07/29 PHP
php操纵mysqli数据库的实现方法
2016/09/18 PHP
php实现将HTML页面转换成word并且保存的方法
2016/10/14 PHP
PHP聊天室简单实现方法详解
2018/12/08 PHP
实例讲解PHP表单处理
2019/02/15 PHP
jquery设置按钮停顿3秒不可用
2014/03/07 Javascript
js使用正则实现ReplaceAll全部替换的方法
2014/08/22 Javascript
jquery实现相册一下滑动两次的方法
2015/02/09 Javascript
简述Jquery与DOM对象
2015/07/10 Javascript
干货分享:让你分分钟学会javascript闭包
2015/12/25 Javascript
基于BootStrap Metronic开发框架经验小结【七】数据的导入、导出及附件的查看处理
2016/05/12 Javascript
JS 调用微信扫一扫功能
2016/12/22 Javascript
如何利用JQuery实现从底部回到顶部的功能
2016/12/27 Javascript
js自定义瀑布流布局插件
2017/05/16 Javascript
jQuery实现的电子时钟效果完整示例
2018/04/28 jQuery
Vue.js上传图片到阿里云OSS存储的方法示例
2018/12/13 Javascript
jQuery实现动态操作table行
2020/11/23 jQuery
[02:31]DOTA2帕克 英雄基础教程
2013/11/26 DOTA
[03:14]DOTA2斧王 英雄基础教程
2013/11/26 DOTA
Django添加KindEditor富文本编辑器的使用
2018/10/24 Python
Linux 修改Python命令的方法示例
2018/12/03 Python
Python 元组操作总结
2019/09/18 Python
python实现简单学生信息管理系统
2020/04/09 Python
Python内置函数property()如何使用
2020/09/01 Python
欧舒丹比利时官网:L’OCCITANE比利时
2017/04/25 全球购物
美国打印机墨水和碳粉购物网站:QuikShip Toner
2018/08/29 全球购物
印尼在线旅游门户网站:NusaTrip
2019/11/01 全球购物
大学生个人求职信范文
2013/09/21 职场文书
硕士生找工作求职信
2014/07/05 职场文书
挂职学习心得体会
2014/09/09 职场文书
大三学年自我鉴定范文(3篇)
2014/09/28 职场文书
中秋节晚会开场白
2015/05/29 职场文书
城南旧事观后感
2015/06/11 职场文书
Python 如何实现文件自动去重
2021/06/02 Python