include() 、require()語句包含并運行指定文件。這兩結(jié)構(gòu)在包含文件上完全一樣,唯一的區(qū)別是對于錯誤的處理。require()語句在遇到包含文件不存在,或是出錯的時候,就停止即行,并報錯。include()則繼續(xù)即行。
1.include語句
使用include語句可以告訴PHP提取特定的文件,并載入它的全部內(nèi)容
<?php
inlude "fileinfo.php";
//此處添加其他代碼
?>
2.include_once語句
每次使用include語句時,它都會重新將請求的文件導入,即使這個文件已經(jīng)被導入過。例如,假定fileinfo.php文件包含許多函數(shù),我們使用include語句將他導入到現(xiàn)有的文件中,然后我們又導入了一個包含fileinfo.php的文件,通過嵌套,我們已經(jīng)將fileinfo.php文件導入了兩次,這就會產(chǎn)生錯誤,因為我們試圖多次定義同名的變量或函數(shù)。為了避免這樣的事情發(fā)生,我們使用include_once語句來代替include語句
<?php
include_once "fileinfo.php";
//此處添加其他代碼
?>
此時,如果在相同的文件中遇到另一個include或include_once語句時,PHP會檢查它是否已經(jīng)被導入過,如果是,就忽略它。
3.require和require_once語句
使用include和include_once語句的潛在問題是:PHP只會試圖導入被請求導入的文件,即使該文件沒有被找到,程序依舊會執(zhí)行。
當我們絕對需要導入一個文件時,使用require語句,對于使用require_once語句的原因也是一樣的,在這就不再贅述了。
<?php
require_once "fileinfo.php";
//此處添加其他代碼
?>
總的來說,我們應該堅持使用require_once語句。