包含與被包含(PHP include文件)

PHP Include?Include_once Require?Require_once 文件

include (或 require)語句會獲取指定文件中存在的所有文本/代碼/標記,并復制到使用 include 語句的文件中。

包含文件很有用,如果您需要在網(wǎng)站的多張頁面上引用相同的 PHP、HTML 或文本的話。

比如我們在項目開發(fā)的過程中經(jīng)常加載文件,例如css,js,php等文件

加載CSS:<link type="text/css" rel="stylesheet" href="css/index.css" />

加載JS:<script type="text/javascript" src="js/lib.js"></script>

加載PHP:

PHP include 文件

PHP include 和 require 語句

通過 include 或 require 語句,可以將 PHP 文件的內(nèi)容插入另一個 PHP 文件(在服務器執(zhí)行它之前)。

include 和 require 語句是相同的,除了錯誤處理方面:

????require 會生成致命錯誤(E_COMPILE_ERROR)并停止腳本

????include 只生成警告(E_WARNING),并且腳本會繼續(xù)

因此,如果您希望繼續(xù)執(zhí)行,并向用戶輸出結(jié)果,即使包含文件已丟失,那么請使用 include。否則,在框架、CMS 或者復雜的 PHP 應用程序編程中,請始終使用 require 向執(zhí)行流引用關鍵文件。這有助于提高應用程序的安全性和完整性,在某個關鍵文件意外丟失的情況下。

包含文件省去了大量的工作。這意味著您可以為所有頁面創(chuàng)建標準頁頭、頁腳或者菜單文件。然后,在頁頭需要更新時,您只需更新這個頁頭包含文件即可。

語法:

? ??include 'filename';

? ??require 'filename';

實例:假設我們有一個名為 "header.php" 的標準菜單文件:

Header.php

我們在index文件中加載header.php文件,如下

<?php include 'header.php';?>

結(jié)果:

index加載(include)文件

PHP include 和 require

require 語句同樣用于向 PHP 代碼中引用文件。不過,include 與 require 有一個巨大的差異:如果用 include 語句引用某個文件并且 PHP 無法找到它,腳本會繼續(xù)執(zhí)行,而require則會報錯誤信息,并且腳本不會執(zhí)行。

如我們加載一個不存在的文件 "test.php"。

<?php include 'test.php';?>

雖然include加載一個不存在的文件,會有報錯信息,但不會終止程序

<?php reqiure 'test.php';?>

reqiure加載一個不存在的文件,會有報錯信息,且會終止程序。


include_once,require_once

include()、require()執(zhí)行即包含文件,不會對引入的文件進行比較判斷,可能會出現(xiàn)重復包含的情況;而include_once()、require_once()在包含時會先判斷文件是否已經(jīng)包含過了,如果已包含,則不再包含文件,這樣的引入文件方式即可以節(jié)省資源,又可避免重復定義的錯誤。

對于具體的案例,大家可以自行測試,這里不再一一列舉了。

作者:林路同,轉(zhuǎn)載請注明來源,謝謝。

公眾號:林路同

林中多歧路,殊途同歸?;ヂ?lián)網(wǎng)資訊,名人傳記,搞笑段子,笑話故事,社會熱點,創(chuàng)業(yè)故事,技術(shù)分享,如果您覺得不錯就關注下樹洞吧,樹洞會再接再厲的哈。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • LFI、RFI、PHP封裝協(xié)議安全問題學習 本文希望分享一些本地文件包含、遠程文件包含、PHP的封裝協(xié)議(偽協(xié)議)...
    Otis4631閱讀 2,486評論 0 0
  • php面試題及答案(轉(zhuǎn)載)收藏 基礎題: 1.表單中 get與post提交方法的區(qū)別? 答:get是發(fā)送請求HTT...
    積_漸閱讀 1,925評論 0 37
  • 一、什么才是”遠程文件包含漏洞”? 回答是:服務器通過php的特性(函數(shù))去包含任意文件時,由于要包含的這個文件來...
    喜歡吃栗子閱讀 2,839評論 1 4
  • **1.require()語句 **require()語句用于指定的文件代替語句本身,就象C語言中的include...
    北夜人閱讀 652評論 0 1
  • 引言 PHP的教程我還是按照所用即所得的方式來寫吧,本身對PHP的認識也不系統(tǒng),因此,摸著石頭過河,披荊斬棘吧~ ...
    OzanShareing閱讀 571評論 2 4

友情鏈接更多精彩內(nèi)容