PHP 的內建常數

昨晚在 PTT 的 PHP 板回了一篇文章,提到 PHP 的內建常數;現在來分享一下,順便作個紀錄,方便日後查詢。

PHP 有不少實用的內建常數,方便我們寫程式時直接呼叫。
有興趣研究的人,可以看看這個網頁,或是用 get_defined_constants() 把內建常數全部倒進陣列,再用 var_dump()print_r() 顯示。

下表列出一些我覺得常用的內建常數,範例值來自 64 位元版本的 FreeBSD ports 安裝之 PHP 5.3.2:

常數名稱常數型態範例值或說明可用版本
PHP_VERSIONstring“5.3.2”無限制
PHP_MAJOR_VERSIONinteger55.2.7+
PHP_MINOR_VERSIONinteger35.2.7+
PHP_RELEASE_VERSIONinteger25.2.7+
PHP_EXTRA_VERSIONstring“”5.2.7+
PHP_OSstring“FreeBSD”無限制
PHP_PREFIXstring“/usr/local”4.3.0+
PHP_BINDIRstring“/usr/local/bin”無限制
PHP_LIBDIRstring“/usr/local/lib/php”無限制
PHP_DATADIRstring“${prefix}/share”無限制
PHP_SYSCONFDIRstring“/usr/local/etc”無限制
PHP_LOCALSTATEDIRstring“/usr/local/var”無限制
PHP_CONFIG_FILE_PATHstring“/usr/local/etc”無限制
PHP_CONFIG_FILE_SCAN_DIRstring“/usr/local/etc/php”無限制
PHP_SHLIB_SUFFIXstring“so”4.3.0+
PHP_EOLstring此變數可用來判斷 “\n”、”\r”、”\r\n”(三個通吃,超好用)。4.3.0+
PHP_MAXPATHLENinteger10245.3.0+
PHP_INT_MAXinteger92233720368547758074.0.4+ 與 5.0.5+
DATE_COOKIEstring “l, d-M-y H:i:s T”
輸出範例:
Wednesday, 14-Jul-10 20:25:07 CST
5.1.1+
DATE_ISO8601string “Y-m-d\TH:i:sO”
輸出範例:
2010-07-14T20:26:18+0800
5.1.1+
DATE_RFC822string “D, d M y H:i:s O”
輸出範例:
Wed, 14 Jul 10 20:27:39 +0800
5.1.1+
DATE_RFC850string “l, d-M-y H:i:s T”
輸出範例:
Wednesday, 14-Jul-10 20:28:44 CST
5.1.1+
DATE_RFC1036string “D, d M y H:i:s O”
輸出範例:
Wed, 14 Jul 10 20:29:40 +0800
5.1.1+
DATE_RFC1123
DATE_RSS
string “D, d M Y H:i:s T”
輸出範例:
Wed, 14 Jul 2010 20:31:51 CST
5.1.1+
DATE_RFC2822string “D, d M Y H:i:s O”
輸出範例:
Wed, 14 Jul 2010 20:31:51 +0800
5.1.1+
DATE_RFC3339
DATE_ATOM
DATE_W3C
string “Y-m-d\TH:i:sP”
輸出範例:
2010-07-14T20:36:18+08:00
5.1.1+