PHP常量DIRECTORY_SEPARATOR原理及用法解析


Posted in PHP onNovember 10, 2020

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实现多服务器session共享之NFS共享的方法
Mar 16 PHP
php 图片上添加透明度渐变的效果
Jun 29 PHP
Windows下安装Memcached的步骤说明
Apr 25 PHP
php 随机记录mysql rand()造成CPU 100%的解决办法
May 18 PHP
php实现12306余票查询、价格查询示例
Apr 17 PHP
PHP stream_context_create()函数的使用示例
May 12 PHP
前端必学之PHP语法基础
Jan 01 PHP
Laravel框架生命周期与原理分析
Jun 12 PHP
PHP基于GD2函数库实现验证码功能示例
Jan 27 PHP
PHP实现将上传图片自动缩放到指定分辨率,并保持清晰度封装类示例
Jun 17 PHP
Yii 框架使用Forms操作详解
May 18 PHP
PHP底层运行机制与工作原理详解
Jul 31 PHP
PHP safe_mode开启对于PHP系统函数有什么影响
Nov 10 #PHP
通过PHP实现用户注册后邮箱验证激活
Nov 10 #PHP
PHP中的异常处理机制深入讲解
Nov 10 #PHP
基于php解决json_encode中文UNICODE转码问题
Nov 10 #PHP
ThinkPHP5分页paginate代码实例解析
Nov 10 #PHP
关于PHP求解三数之和问题详析
Nov 09 #PHP
PHP中isset、empty的用法与区别示例详解
Nov 05 #PHP
You might like
php INI配置文件的解析实现分析
2011/01/04 PHP
thinkphp在模型中自动完成session赋值示例代码
2014/09/09 PHP
php截取html字符串及自动补全html标签的方法
2015/01/15 PHP
深入理解PHP原理之执行周期分析
2016/06/01 PHP
ThinkPHP中session函数详解
2016/09/14 PHP
PHP 无限级分类
2017/05/04 PHP
PHP实现微信提现功能(微信商城)
2019/11/21 PHP
鼠标移动到图片名上,显示图片的简单实例
2013/07/14 Javascript
JavaScript中的关键字"VAR"使用详解 分享
2013/07/31 Javascript
JS正则表达式大全(整理详细且实用)
2013/11/14 Javascript
js 获取浏览器版本以此来调整CSS的样式
2014/06/03 Javascript
举例详解JavaScript中Promise的使用
2015/06/24 Javascript
jQuery实现自定义右键菜单的树状菜单效果
2015/09/02 Javascript
JS针对浏览器窗口关闭事件的监听方法集锦
2016/06/24 Javascript
第一次记录Bootstrap table学习笔记(1)
2017/05/18 Javascript
详解一个小实例理解js原型和继承
2019/04/24 Javascript
微信小程序的授权实现过程解析
2019/08/02 Javascript
[02:22]《新闻直播间》2017年08月14日
2017/08/15 DOTA
python读写二进制文件的方法
2015/05/09 Python
Python绘制3d螺旋曲线图实例代码
2017/12/20 Python
详解Python:面向对象编程
2019/04/10 Python
对python3中的RE(正则表达式)-详细总结
2019/07/23 Python
Django如何继承AbstractUser扩展字段
2020/11/27 Python
python音频处理的示例详解
2020/12/23 Python
用Python制作音乐海报
2021/01/26 Python
css3媒体查询中device-width和width的区别详解
2020/03/27 HTML / CSS
就业推荐表自我鉴定
2013/10/29 职场文书
小学教研工作制度
2014/01/15 职场文书
学生会个人自荐书范文
2014/02/12 职场文书
资金主管岗位职责范本
2014/03/04 职场文书
普通党员群众路线教育实践活动心得体会
2014/11/04 职场文书
集团财务总监岗位职责
2015/04/03 职场文书
2015驻村干部工作总结
2015/04/07 职场文书
施工安全保证书
2015/05/09 职场文书
班主任远程培训研修日志
2015/11/13 职场文书
Win10 Anaconda安装python-pcl
2022/04/29 Servers