頭頂為什么會莫名其妙出現這個?
通過 include() 或 require() 函數,您可以在服務器執行 PHP 文件之前在該文件中插入一個文件的內容。除了它們處理錯誤的方式不同之外,這兩個函數在其他方面都是相同的。include() 函數會生成一個警告(但是腳本會繼續執行),而 require() 函數會生成一個致命錯誤(fatal error)(在錯誤發生后腳本會停止執行)。這兩個函數用于創建可在多個頁面重復使用的函數、頁眉、頁腳或元素。這會為開發者節省大量的時間。這意味著您可以創建供所有網頁引用的標準頁眉或菜單文件。當頁眉需要更新時,您只更新一個包含文件就可以了,或者當您向網站添加一張新頁面時,僅僅需要修改一下菜單文件(而不是更新所有網頁中的鏈接)。include() 函數include() 函數可獲得指定文件中的所有文本,并把文本拷貝到使用 include 函數的文件中。例子 1假設您擁有一個標準的頁眉文件,名為 "header.php"。如需在頁面中引用這個頁眉文件,請使用 include() 函數,就像這樣:
Welcome to my home pageSome text
例子 2現在,假設我們有一個在所有頁面上使用的標準菜單文件。請看下面這個 "menu.php":Home
About Us
Contact Us
三個文件,"default.php"、"about.php" 以及 "contact.php" 都引用了 "menu.php" 文件。這是 "default.php" 中的代碼:Welcome to my home pageSome text
如果您在瀏覽器中查看 "default.php" 的源代碼,應該類似這樣:Home
About Us
Contact Us
Welcome to my home pageSome text
同時,當然,我們也將用相同的方法處理 "about.php" 和 "contact.php"。通過使用引用文件,在您需要重命名鏈接、更改鏈接順序或向站點添加另一張網頁時,只要簡單地更新 "menu.php" 文件中的文本即可。require() 函數require() 函數與 include() 相同,不同的是它對錯誤的處理方式。include() 函數會生成一個警告(但是腳本會繼續執行),而 require() 函數會生成一個致命錯誤(fatal error)(在錯誤發生后腳本會停止執行)。如果在您通過 include() 引用文件時發生了錯誤,會得到類似下面這樣的錯誤消息:PHP 代碼:錯誤消息:Warning: include(wrongFile.php) [function.include]:failed to open stream:No such file or directory in C:\home\website\test.php on line 5Warning: include() [function.include]:Failed opening 'wrongFile.php' for inclusion(include_path='.;C:\php5\pear')in C:\home\website\test.php on line 5Hello World!請注意,echo 語句依然被執行了!這是因為警告不會中止腳本的執行。現在,讓我們使用 require() 函數運行相同的例子。PHP 代碼:錯誤消息:Warning: require(wrongFile.php) [function.require]:failed to open stream:No such file or directory in C:\home\website\test.php on line 5Fatal error: require() [function.require]:Failed opening required 'wrongFile.php'(include_path='.;C:\php5\pear')in C:\home\website\test.php on line 5由于在致命錯誤發生后終止了腳本的執行,因此 echo 語句不會執行。正因為在文件不存在或被重命名后腳本不會繼續執行,因此我們推薦使用 require() 而不是 include()。