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新手上路(十四)
Oct 09 PHP
Apache, PHP在Windows 9x/NT下的安装与配置 (一)
Oct 09 PHP
php发送post请求的三种方法
Feb 11 PHP
在Windows XP下安装Apache+MySQL+PHP环境
Feb 22 PHP
一个简单安全的PHP验证码类 附调用方法
Jun 24 PHP
php实现登陆模块功能示例
Oct 20 PHP
PHP基于自增数据如何生成不重复的随机数示例
May 19 PHP
PHP开发中解决并发问题的几种实现方法分析
Nov 13 PHP
详解关于php的xdebug配置(编辑器vscode)
Jan 29 PHP
PHP实现给定一列字符,生成指定长度的所有可能组合示例
Jun 22 PHP
Laravel中validation验证 返回中文提示 全局设置的方法
Sep 29 PHP
php让json_encode不自动转义斜杠“/”的方法
Apr 27 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
WordPress中使主题支持小工具以及添加插件启用函数
2015/12/22 PHP
Laravel中前端js上传图片到七牛云的示例代码
2017/09/04 PHP
PHP闭包定义与使用简单示例
2018/04/13 PHP
PHP cookie,session的使用与用户自动登录功能实现方法分析
2019/06/05 PHP
laravel异步监控定时调度器实例详解
2019/06/21 PHP
JavaScript中的new的使用方法与注意事项
2007/05/16 Javascript
javascript 无提示关闭窗口脚本
2009/08/17 Javascript
理解JavaScript中的对象 推荐
2011/01/09 Javascript
JQuery调webservice实现邮箱验证(检测是否可用)
2013/05/21 Javascript
Javascript 读取操作Sql中的Xml字段
2014/10/09 Javascript
利用Node.js对文件进行重命名
2017/03/12 Javascript
JS和canvas实现俄罗斯方块
2017/03/14 Javascript
JavaScript队列函数和异步执行详解
2017/06/19 Javascript
webpack组织模块打包Library的原理及实现
2018/03/10 Javascript
Angular 5.x 学习笔记之Router(路由)应用
2018/04/08 Javascript
谈谈为什么你的 JavaScript 代码如此冗长
2019/01/30 Javascript
Vue实现table上下移动功能示例
2019/02/21 Javascript
微信小程序button标签open-type属性原理解析
2020/01/21 Javascript
vue实现表单未编辑或未保存离开弹窗提示功能
2020/04/08 Javascript
js实现计算器功能
2020/08/10 Javascript
Vue-Ant Design Vue-普通及自定义校验实例
2020/10/24 Javascript
在Python的setuptools框架下生成egg的教程
2015/04/13 Python
Python中的集合类型知识讲解
2015/08/19 Python
python 创建弹出式菜单的实现代码
2017/07/11 Python
通过Python 获取Android设备信息的轻量级框架
2017/12/18 Python
python中将一个全部为int的list 转化为str的list方法
2018/04/09 Python
Python+selenium点击网页上指定坐标的实例
2019/07/05 Python
Python搭建Keras CNN模型破解网站验证码的实现
2020/04/07 Python
django在开发中取消外键约束的实现
2020/05/20 Python
Appium+Python实现简单的自动化登录测试的实现
2021/01/26 Python
Under Armour瑞典官方网站:美国高端运动科技品牌
2018/11/21 全球购物
Cult Gaia官网:美国生活方式品牌
2019/08/16 全球购物
Hotels.com韩国:海外国内旅行所需的酒店和住宿预订网站
2020/05/08 全球购物
供用电专业求职信
2014/07/07 职场文书
2014年宣传部工作总结
2014/11/12 职场文书
2016春季小学开学寄语
2015/12/03 职场文书