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(__FILE__)."\upload");
在本地调试都很正常,但是上传到linux服务器后就会出错。所以如上代码严谨的写法为:
define('ROOT', dirname(__FILE__).DIRECTORY_SEPARATOR."upload");
提示:可以用函数get_defined_constants()来获取所有PHP常量,例如:
<?php print_r(get_defined_constants());//get_defined_constants()返回所有常量数组