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()返回所有常量數組