`
simple_abo
  • 浏览: 12694 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
社区版块
存档分类
最新评论

php内置变量DIRECTORY_SEPARATOR [转]

    博客分类:
  • PHP
阅读更多

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

众所周知,在windows下路径分隔符是\(当然/在部分系统上也是可以正常运行的,微软的操作系统是够人性化呢?还是够不精密的呢?),在linux上路径的分隔符是/,这就导致了一个问题,比如你的开发机器是windows,你有一个图片上传程序,你在你的调试机器上指定的上传文件保存目录是:define('BLOGGUY.CN_ROOT', dirname(__FILE__)."/upload"),在本地调试都很正常,可是上传到linux服务器的时候你会发现会出错。

是的,许多网站就是这么经历过的,当初折腾得个半死,所以印象比较深刻。

这个问题就是出在文件的分隔符上,windows上我们习惯性的使用/作为文件分隔符,但是在linux上人家是不认识这个标识的,人家只认识/,于是就要引入下面这个php内置变量了:DIRECTORY_SEPARATOR。

上面的写法可以改写为以下无错写法:
define('BLOGGUY.CN_ROOT', dirname(__FILE__).DIRECTORY_SEPARATOR."upload");
这样就可以确保不会出错了。

例如discuz里面是这样写的:define('S_ROOT', dirname(__FILE__).DIRECTORY_SEPARATOR);

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

 

来自:http://hi.baidu.com/cubeking/blog/item/e40a5ced4c3c9339acafd58b.html

分享到:
评论

相关推荐

    PHP常量DIRECTORY_SEPARATOR原理及用法解析

    DIRECTORY_SEPARATOR在php是什么意思呢,在什么时候使用DIRECTORY_SEPARATOR最合理呢?下面来给各位介绍一下php DIRECTORY_SEPARATOR常量。 我们知道DIRECTORY_SEPARATOR是一个PHP常量,代表反斜杠,因为windows系统...

    php中常量DIRECTORY_SEPARATOR用法深入分析

    本文实例讲述了php中常量DIRECTORY_SEPARATOR用法。分享给大家供大家参考。具体如下: DIRECTORY_SEPARATOR在php是什么意思呢,在什么时候使用DIRECTORY_SEPARATOR最合理呢?下面来给各位介绍一下php DIRECTORY_...

    解析PHP中DIRECTORY_SEPARATOR,PATH_SEPARATOR两个常量的作用

    一个是:DIRECTORY_SEPARATOR DIRECTORY_SEPARATOR:路径分隔符,linux上就是‘/’ windows上是‘\’ 一个是:PATH_SEPARATOR PATH_SEPARATOR:include多个路径使用,在windows下,当你要include多个路径的话,你...

    php接口数据加密、解密、验证签名

    include_once(dirname(dirname(__FILE__)).DIRECTORY_SEPARATOR.’phpsec’.DIRECTORY_SEPARATOR.’Math’.DIRECTORY_SEPARATOR.’BigInteger.php’); include_once(dirname(dirname(__FILE__)).DIRECTORY_SEPARATOR...

    phpPATH_SEPARATOR判断当前服务器系统类型实例

    php中有一个非常有用的预定义常量PATH_SEPARATOR,我们可以通过该常量来判断当前服务器是linux还是Windows。本文将向大家讲解php使用PATH_SEPARATOR获取当前服务器的类型。 PATH_SEPARATOR是php中的一个预定义常量...

    php PATH_SEPARATOR判断当前服务器系统类型实例

    主要介绍了php PATH_SEPARATOR判断当前服务器系统类型实例的相关资料,需要的朋友可以参考下

    [示例][PHP]PHP的轻量级通知库.zip

    DIRECTORY_SEPARATOR . ".." . DIRECTORY_SEPARATOR . "vendor" . DIRECTORY_SEPARATOR . "autoload.php"; // import namespaces use Namshi\Notificator\Notification\Handler\Email as EmailHandler; use Namshi\...

    DataMaster 文件转换实例

    GetDlgItemText(IDC_EDIT_DIRECTORY, Directory_Buf, sizeof(Directory_Buf)); GetDlgItemText(IDC_EDIT_NAME, InputFileName_Buf, sizeof(InputFileName_Buf)); GetDlgItemText(IDC_EDIT_OUTPUTFILE, ...

    Window系统无法调用OpenCV报错Directory separator should not appear in library name

    Window系统无法调用OpenCV代码报错:java.lang.UnsatisfiedLinkError: Directory separator should not appear in library name: C:\Windows\System32\opencv_java343.dll。出现该问题主要是安装的Windows系统缺乏...

    yii-file-processor:yii 框架的文件处理器(上传文件、裁剪图像)

    DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'extensions' . DIRECTORY_SEPARATOR . 'yii-file-processor' . DIRECTORY_SEPARATOR . 'fileProcessor');应用配置: ...'controllerMap' => array('image' =>...

    VC 实现窗口状态栏显示鼠标坐标信息的方法.rar

    可在窗体的状态栏内显示设备坐标和逻辑坐标的X/Y信息,变量ID_SEPARATOR用来显示设备坐标系下的鼠标位置,ID_SEPARATOR用来显示逻辑坐标系下的鼠标位置。return m_bkBrush; 作为约定,返回背景色对应的刷子句柄。

    伪数据生成PHP库.zip

     $fileName = str_replace('\\', DIRECTORY_SEPARATOR, $namespace) . DIRECTORY_SEPARATOR;  }  $fileName = __DIR__ . DIRECTORY_SEPARATOR . $fileName . $className . '.php';  if ...

    RSS的解析类库.zip

     DIRECTORY_SEPARATOR . 'library'; } public function autoload($class) { // Only load the class if it starts with "SimplePie" if (strpos($class, 'SimplePie') !== 0) { return; }...

    php+js实现异步图片上传实例分享

    $uploadDir = ‘images’.DIRECTORY_SEPARATOR.date(“Ymd”).DIRECTORY_SEPARATOR;$dir = dirname(__FILE__).DIRECTORY_SEPARATOR.$uploadDir;file_exists($dir) || (mkdir($dir,0777,true) && chmod($dir,0777));...

    php魔术方法与魔术变量、内置方法与内置变量的深入分析

    php内置变量了:DIRECTORY_SEPARATORDIRECTORY_SEPARATOR是一个返回跟操作系统相关的路径分隔符的php内置命令,在windows上返回/,而在linux或者类unix上反悔/,就是这么个区别,通常在定义包含文件路径或者上传保存...

    yii2-ip2location:跟踪访客的来源。

    Yii2 IP2位置 该扩展为Yii2框架提供了IP2Location集成。 安装 。 将此程序包解压缩到前端/... DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'components' . DIRECTORY_SEPARATOR . 'IP2Location' . DIRECTORY_

    处理PPT幻灯片的PHP库.zip

     $class = join(DIRECTORY_SEPARATOR, array('PhpPresentation', 'Tests', '_includes')) .  substr($class, strlen($prefix));  $file = __DIR__ . DIRECTORY_SEPARATOR . $class . '.php'; ...

    php生成QRcode实例

    $PNG_TEMP_DIR = dirname(__FILE__).DIRECTORY_SEPARATOR.'temp'.DIRECTORY_SEPARATOR; $PNG_WEB_DIR = 'temp/'; include "qrlib.php"; // QRcode lib $data = 'demo qrcode'; // data $ecc = 'H';

Global site tag (gtag.js) - Google Analytics