DIRECTORY_SEPARATOR -- 转自百度百科

转载 2015年07月09日 10:06:59
在 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上返回/,就是这么个区别,通常在定义包含文件路径或者上传保存目录的时候会用到。

相关文章推荐

MIME [转自百度百科]

MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型。是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器...

并发以及并发解决方案介绍--转自百度百科

 并发

开闭原则,转自百度百科

开闭原则简介   开闭原则是面向对象设计中“可复用设计”的基石,是面向对象设计中最重要的原则之一,其它很多的设计原则都是实现开闭原则的一种手段。   1988年,Bertrand Meye...
  • omegayy
  • omegayy
  • 2012年01月13日 15:52
  • 476

EDGE(增强型数据速率GSM演进技术,转自百度百科)

EDGE 添加义项这是一个多义词,请在下列义项中选择浏览 1.增强型数据速率GSM演进技术2.WWE世界重量级冠军   1.增强型数据速率GSM演进技术 编辑本义项 EDG...

dynamic_cast类型转换(很好用)-转自百度百科

dynamic_cast 目录 1用法 2注意事项 3运用实例 问题 实例 1...
  • mucai1
  • mucai1
  • 2013年12月31日 10:37
  • 403

多线程编程实例(C预言实现)(转自百度百科)

#include #include #include #include #include #define MAX 10 pthread_t thread[2]; pthread_mutex_...

c++ volatile介绍(转自百度百科)

volatile  编辑 就像大家更熟悉的const一样,volatile是一个类型修饰符(type specifier)。它是被设计用来修饰被不同线程访问和修改的变量。如果不加入vola...

几种调用约定[转自百度百科]

原地址:__cdecl 几种函数调用方式   __cdecl 是C Declaration的缩写(declaration,声明),表示C语言默认的函数调用方法:所有参数从右到左依次入栈,这些参数由...
  • vTmain
  • vTmain
  • 2012年07月11日 11:09
  • 414

云安全-转自百度百科

“云安全(Cloud Security)”计划是网络时代信息安全的最新体现,它融合了并行处理、网格计算、未知病毒行为判断等新兴技术和概念,通过网状的大量客户端对网络中软件行为的异常监测,获取互联网中木...

void (转自百度百科)

void含义  void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据。   void几乎只有“注释”和限制程序的作用,定义一个void变量没有意义,不妨试...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:DIRECTORY_SEPARATOR -- 转自百度百科
举报原因:
原因补充:

(最多只允许输入30个字)