凌的博客

您现在的位置是: 首页 > 学无止境 > PHP > 

PHP

PHP_EOL DIRECTORY_SEPARATOR常量的说明

2015-07-28 PHP 798
PHP_EOL 是php系统源码中定义好的一个换行符常量。 为什么会有这么一个常量? 因为在不同的系统中,换行符是不一样的。比如: unix系列用 \\n windows系列用 \\r\\n mac用 \\r 于是php中就定义了

PHP_EOL 是php系统源码中定义好的一个换行符常量。

为什么会有这么一个常量?

因为在不同的系统中,换行符是不一样的。比如:

unix系列用 \n

windows系列用 \r\n

mac用 \r

于是php中就定义了 PHP_EOL,这个常量会根据平台而变,以提高代码的源代码级可移植性。


<?php
echo PHP_EOL;
//windows平台相当于   
echo "\r\n";
//unix\linux平台相当于   
echo "\n";
//mac平台相当于   
echo "\r";



类似常用的还有

DIRECTORY_SEPARATOR

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

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


define('ROOT', dirname(ql_FILE)."\upload");

在本地调试都很正常,但是上传到linux服务器后就会出错。所以如上代码严谨的写法为:

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

提示:可以用函数get_defined_constants()来获取所有PHP常量,例如:

print_r(get_defined_constants());//get_defined_constants()返回所有常量数组


文章评论

0条评论