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批量上传的实现代码
Jun 09 PHP
关于url地址传参数时字符串有回车造成页面脚本赋值失败的解决方法
Jun 28 PHP
PHP与MYSQL中UTF8 中文排序示例代码
Oct 23 PHP
php+curl 发送图片处理代码分享
Jul 09 PHP
php连接oracle数据库的核心步骤
May 26 PHP
验证token、回复图文\文本、推送消息的实用微信类php代码
Jun 28 PHP
php 生成Tab键或逗号分隔的CSV
Sep 24 PHP
DWZ+ThinkPHP开发时遇到的问题分析
Dec 12 PHP
PHP中字符串长度的截取用法示例
Jan 12 PHP
PHP中file_put_contents追加和换行的实现方法
Apr 01 PHP
ajax+php实现无刷新验证手机号的实例
Dec 22 PHP
PHP中abstract(抽象)、final(最终)和static(静态)原理与用法详解
Jun 05 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
一个程序下载的管理程序(一)
2006/10/09 PHP
PHP文件打开、关闭、写入的判断与执行代码
2011/05/24 PHP
PHP在获取指定目录下的目录,在获取的目录下面再创建文件,多平台
2011/08/03 PHP
PHP setcookie指定domain参数后,在IE下设置cookie失效的解决方法
2011/09/09 PHP
PHP的MVC模式实现原理分析(一相简单的MVC框架范例)
2014/04/29 PHP
ThinkPHP分组下自定义标签库实例
2014/11/01 PHP
php类的扩展和继承用法实例
2015/06/20 PHP
基于PHP实现简单的随机抽奖小程序
2016/01/05 PHP
PHP中addcslashes与stripcslashes函数用法分析
2016/01/07 PHP
PHP中header函数的用法及其注意事项详解
2016/06/13 PHP
PHP小偷程序的设计与实现方法详解
2016/10/15 PHP
php桥接模式应用案例分析
2019/10/23 PHP
php高性能日志系统 seaslog 的安装与使用方法分析
2020/02/29 PHP
jquery.artwl.thickbox.js  一个非常简单好用的jQuery弹出层插件
2012/03/01 Javascript
jquery 快速回到页首的方法
2013/12/05 Javascript
原生javascript实现图片弹窗交互效果
2015/01/12 Javascript
jQuery中cookie插件用法实例分析
2015/12/04 Javascript
如何判断Javascript对象是否存在的简单实例
2016/05/18 Javascript
SWFUpload多文件上传及文件个数限制的方法
2016/05/31 Javascript
利用js判断手机是否安装某个app的多种方案
2017/02/13 Javascript
JS变量及其作用域
2017/03/29 Javascript
从零开始学习Node.js系列教程之基于connect和express框架的多页面实现数学运算示例
2017/04/13 Javascript
解决vue2中使用axios http请求出现的问题
2018/03/05 Javascript
详解@Vue/Cli 3 Invalid Host header 错误解决办法
2019/01/02 Javascript
jQuery实现手风琴效果(蒙版)
2020/01/11 jQuery
python中xrange用法分析
2015/04/15 Python
Python中字典的基础知识归纳小结
2015/08/19 Python
Python爬虫之网页图片抓取的方法
2018/07/16 Python
Python3内置模块random随机方法小结
2019/07/13 Python
python实现全排列代码(回溯、深度优先搜索)
2020/02/26 Python
苹果Mac升级:MacSales.com
2017/11/20 全球购物
餐饮业会计岗位职责
2013/12/19 职场文书
租房协议书样本
2014/08/20 职场文书
大学生考试作弊检讨书
2014/09/21 职场文书
2014年学生资助工作总结
2014/12/18 职场文书
Vue + iView实现Excel上传功能的完整代码
2021/06/22 Vue.js