DIRECTORY_SEPARATOR的作用 .

转载 2012年03月28日 17:27:10

DIRECTORY_SEPARATOR是php的内部常量,用于显示系统分隔符的命令,不需要任何定义与包含即可直接使用。

 

      在windows下路径分隔符是/(当然/在部分系统上也是可以正常运行的),在linux上路径的分隔符是/,这就导致了一个问题,比如开发机器是windows,有一个图片上传程序,调试机器上指定的上传文件保存目录是:

 

define('ROOT', dirname(__FILE__)."/upload");

 

在本地调试都很正常,但是上传到linux服务器的时候会发现会出错。于是php引入了DIRECTORY_SEPARATOR变量,可以将上面的写法改写为:

 

define('ROOT', dirname(__FILE__).DIRECTORY_SEPARATOR."upload");

 

      DIRECTORY_SEPARATOR是一个返回跟操作系统相关的路径分隔符的php内置命令,在windows上返回/,而在linux或者类unix上返回/,就是这么个区别,通常在定义包含文件路径或者上传保存目录的时候会用到。

例如:

  1. const DIR_SEP = DIRECTORY_SEPARATOR;// 路径分割 win下/ linux下/   
  2. private function __construct()  
  3. {  
  4. $this->_options = array(  
  5. 'template_dir' => 'templates' . self::DIR_SEP, //模板文件所在目录   
  6. 'cache_dir' => 'templates' . self::DIR_SEP . 'cache' . self::DIR_SEP, //缓存文件存放目录   
  7. 'auto_update' => false, //当模板文件改动时是否重新生成缓存   
  8. 'cache_lifetime' => 0, //缓存生命周期(分钟),为 0 表示永久   
  9. 'suffix' => '.html' //模板文件后缀   
  10. );  
  11. }  

使用DIRECTORY_SEPARATOR带来的跳转问题

操作系统:windows 浏览器:Firefox 搜狗浏览器 问题描述:在PHP的代码中使用预定义常量DIRECTORY_SEPARATOR来组成链接的href跳转路径。在不同的浏览器下,可能会出现问...
  • hhm6621314
  • hhm6621314
  • 2015年01月04日 20:54
  • 242

为什么项目要使用DIRECTORY_SEPARATOR做分割符

1.定义 php的内置变量DIRECTORY_SEPARATOR是一个显示系统分隔符的命令,DIRECTORY_SEPARATOR是php的内部常量,不需要任何定义与包含即可直接使用。 2.说明 ...
  • qq_22327455
  • qq_22327455
  • 2014年11月18日 20:03
  • 369

Thinkphp5类加载机制

Thinkphp5类加载机制 PS:本文适用于熟悉Thinkphp框架或其他MVC框架,对于命名空间及自动加载类,有一定理解的程序工作者观看(其实是写给自己看的>_ 我一直对于thinkphp...
  • qq_26683009
  • qq_26683009
  • 2017年03月05日 15:48
  • 1824

Spring的作用、Struts的作用、Hiberante的作用

Spring的作用 Struts的作用 Hiberante的作用
  • master_yao
  • master_yao
  • 2015年12月02日 21:21
  • 1819

static作用const作用

static: 1.声明为static的变量,即使是在函数内部;它也仅仅初始化一次,被存放在全局数据段内; 2.声明为static的全局变量,仅仅在本文件中具有可见性;其他文件不可见,防止命名冲突; ...
  • cwj649956781
  • cwj649956781
  • 2013年11月21日 10:07
  • 610

电容的作用?电容器的作用?

电容的作用? 电容的作用有滤波、耦合、旁路、去耦的功能。请问下: 1、滤波、旁路和去耦有什么区别? 2、滤波、旁路和去耦是指电容并联在电路中吗?耦合是指电容串联在电路中吗? 3、0.1UF的电容(并...
  • cfxzy
  • cfxzy
  • 2014年12月04日 15:40
  • 698

浅谈对于作用域的理解

最经在学一个工作流框架JBMP的时候,又
  • u010930968
  • u010930968
  • 2014年07月22日 16:29
  • 967

JavaScript中的作用域以及this变量

今天我想简单讨论下关于Javascript的作用域和this变量。“作用域”的概念就是说,我们的代码能够从哪里去访问某些函数或者变量,也就是它们所存在的上下文,或者说就是它们被执行的地方。第一种作用域...
  • zlxadhkust
  • zlxadhkust
  • 2014年04月26日 11:05
  • 1016

C++学习笔记(初级篇)——作用域与“extern”关键字

作用域,顾名思义,就是指某个标识符在程序中的有效区域。 在C++中,按作用域的大小,一般可分为局部作用域和全局作用域。 1.局部作用域 局部作用域用大括号,即{},来定义,大括号括起来的范围就是一个局...
  • Dr_Neo
  • Dr_Neo
  • 2015年12月11日 19:17
  • 1102

C++中的::的作用

(1)作用域限定符,当在类体中直接定义函数时,不需要在函数名字的前面加上类名,但是在类体外实现函数定义的时候,必须加上类名并且加上作用域限定符。Student::Display(); (2)...
  • zhanghuaichao
  • zhanghuaichao
  • 2017年02月18日 21:44
  • 2251
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:DIRECTORY_SEPARATOR的作用 .
举报原因:
原因补充:

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