专栏首页技术博文PHP预定义常量DIRECTORY_SEPARATOR

PHP预定义常量DIRECTORY_SEPARATOR

DIRECTORY_SEPARATOR是一个显示系统分隔符的命令,DIRECTORY_SEPARATOR是PHP的内部常量,不需要任何定义与包含即可直接使用。 众所周知,在windows下路径分隔符是(当然/在部分系统上也是可以正常运行的),在linux上路径的分隔符是/,这就导致了一个问题,比如开发机器是windows,有一个图片上传程序,调试机器上指定的上传文件保存目录是:define(‘ROOT’, dirname(__FILE__).”upload”),在本地调试都很正常,但是上传到linux服务器的时候会发现会出错。 这个问题就是出在文件的分隔符上,windows上习惯性的使用作为文件分隔符,但是在linux上人家是不认识这个标识的,人家只认识/,于是就要引入下面这个php内置变量了:DIRECTORY_SEPARATOR。 上面的写法可以改写为以下无错写法: define(‘ROOT’, dirname(__FILE__).DIRECTORY_SEPARATOR.”upload”); 这样就可以确保不会出错了。 例如discuz里面是这样写的:define(‘S_ROOT’, dirname(__FILE__).DIRECTORY_SEPARATOR); 回到问题本身上,DIRECTORY_SEPARATOR是一个返回跟操作系统相关的路径分隔符的php内置命令,在windows上返回,而在linux或者类unix上返回/,就是这么个区别,通常在定义包含文件路径或者上传保存目录的时候会用到。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Windows下Nginx+Mysql+Php(wnmp)环境搭建

    前言  最近想在windows下使用nginx搭建web环境,本来想用套件(WNMP)一键安装,但后来放弃了,觉得还是自己动手,丰衣足食的好,而且套件的局限性太...

    joshua317
  • phpcms v9.6 任意文件上传漏洞近日出现密集攻击动态

    背景介绍: 近日,安恒风暴中心研究人员发现,从2018年3月4日开始出现了对phpcms V9.6任意文件上传漏洞的密集攻击与利用。该漏洞为2017年爆发的0...

    安恒信息
  • 最短的各类一句话木马

    菜刀readme.txt中附带一3个一句话: PHP: 1 <!--?php @eval($_POST['chopper']);?--> ASP: 1 &l...

    逸鹏
  • 2017 Multi-University Training Contest - Team 1 1002&&HDU 6034 Balala Power!【字符串,贪心+排序】

    Balala Power! Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 131072/131...

    Angel_Kitty
  • BZOJ 1029: [JSOI2007]建筑抢修【优先队列+贪心策略】

    1029: [JSOI2007]建筑抢修 Time Limit: 4 Sec  Memory Limit: 162 MB Submit: 4810  Solve...

    Angel_Kitty
  • BZOJ 1061: [Noi2008]志愿者招募【单纯形裸题】

    1061: [Noi2008]志愿者招募 Time Limit: 20 Sec  Memory Limit: 162 MB Submit: 4813  Solv...

    Angel_Kitty
  • BZOJ 1411&&Vijos 1544 : [ZJOI2009]硬币游戏【递推,快速幂】

    1411: [ZJOI2009]硬币游戏 Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 897  Solve...

    Angel_Kitty
  • Facebook的漏洞可以让攻击者在分分钟内重置用户账户密码

    安全研究人员Dan Melamed近日发现了一个Facebook平台的严重漏洞,可以允许攻击者完全控制任何账号。 这个漏洞之所以被认为严重是因为它允许黑客悄悄的...

    安恒信息
  • 一个很easy的脚本--php获取服务器端的相关信息

    存档: 1 <html> 2 <head> 3 <meta http-equiv="content-type" content="...

    Angel_Kitty
  • BZOJ 2222: [Cqoi2006]猜数游戏【神奇的做法,傻逼题,猜结论】

    2222: [Cqoi2006]猜数游戏 Time Limit: 20 Sec  Memory Limit: 259 MB Submit: 604  Solve...

    Angel_Kitty

扫码关注云+社区

领取腾讯云代金券