PHP 菜鳥教程

PHP 高級教程

PHP & MySQL

PHP 參考手冊

php include 和 require (包含文件)

在本教程中,您將學(xué)習(xí)如何在PHP中包含和評估文件。

將一個PHP文件包含到另一個PHP文件中

使用include() 和 require()語句可以將一個PHP文件中的代碼包含在另一個PHP文件中。包含文件與從指定的文件復(fù)制腳本并將其粘貼到調(diào)用它的位置產(chǎn)生相同的結(jié)果。

您可以節(jié)省大量時間并通過包含文件來工作-只需將代碼塊存儲在單獨的文件中,然后使用include()和require()語句將其包含在任何需要的位置,而不必多次鍵入整個代碼塊。 一個典型的示例是在網(wǎng)站的所有頁面中包含頁眉,頁腳和菜單文件。

include() 和 require()語句的基本語法可以通過以下方式給出:

include("path/to/filename"); 
或
include "path/to/filename";

require("path/to/filename"); 
或
require "path/to/filename";

提示:與print 和 echo語句一樣,您可以在使用include 和  require語句時省略括號,如上所述。

以下示例將向您展示如何在網(wǎng)站的所有頁面中分別包含分別存儲在單獨的“ header.php”,“ footer.php”和“ menu.php”文件中的通用頁眉,頁腳和菜單代碼。使用此技術(shù),只需更改一個文件即可立即更新網(wǎng)站的所有頁面,從而節(jié)省了大量重復(fù)性工作。

<!DOCTYPE html>
<html>
<head>
    <title>菜鳥教程</title>
</head>

<?php include "header.php"; ?>
<?php include "menu.php"; ?>
    <h1>歡迎瀏覽我們的網(wǎng)站(www.soo66.com)!</h1>
    <p>在這里,您會發(fā)現(xiàn)很多有用的信息。</p>
<?php include "footer.php"; ?>

</html>

include 和 require語句之間的區(qū)別

您可能在想,如果我們可以使用include()語句包含文件,那么我們?yōu)槭裁葱枰猺equire()。通常,require()語句的運(yùn)行方式類似于include()。

唯一的區(qū)別是— include()語句僅生成PHP警告,但如果找不到要包含的文件,則允許腳本繼續(xù)執(zhí)行,而require()語句將生成致命錯誤并停止腳本執(zhí)行 。

<?php require "my_variables.php"; ?>
<?php require "my_functions.php"; ?>
<!DOCTYPE html>
<html>
<head>
    <title><?php displayTitle($home_page); ?></title>
</head>

<?php include "header.php"; ?>
<?php include "menu.php"; ?>
    <h1>歡迎瀏覽我們的網(wǎng)站(www.soo66.com)!</h1>
    <p>在這里,您會發(fā)現(xiàn)很多有用的信息。</p>
<?php include "footer.php"; ?>

</html>

注意:如果包含庫文件或包含運(yùn)行應(yīng)用程序所必需的函數(shù)和配置變量的文件(如數(shù)據(jù)庫配置文件),建議使用 require()語句。

include_once 和 require_once語句

如果不小心在代碼中使用 include 或 require 語句多次包含同一文件(通常是函數(shù)文件) ,可能會導(dǎo)致沖突。為了防止這種情況,PHP 提供了 include_once 和 require_once 語句。這些語句的行為方式與 include 和 require 語句相同,只有一個例外:
即使再次包含該文件,include_once和require_once語句也將只包含該文件一次,也就是說,如果指定的文件已包含在前一個語句中,則不會再次包含該文件。為了更好地理解它是如何工作的,我們來看一個示例。 假設(shè)我們有一個“ my_functions.php”文件,其代碼如下:

<?php
function multiplySelf($var){
    $var *= $var; //將變量自身相乘
    echo $var;
}
?>

這是PHP腳本,其中包含“ my_functions.php”文件。

<?php
//包含文件
require "my_functions.php";
// 調(diào)用函數(shù)
multiplySelf(2); // 輸出: 4
echo "<br>";
 
//再次包含該文件
require "my_functions.php";
// 調(diào)用函數(shù)
multiplySelf(5); // Doesn't execute
?>

當(dāng)您運(yùn)行上面的腳本時,您將看到類似以下的錯誤消息:“Fatal error: Cannot redeclare multiplySelf()”。發(fā)生這種情況的原因是'my_functions.php'被兩次包含,這意味著該函數(shù)multiplySelf()被定義了兩次,這導(dǎo)致PHP停止腳本執(zhí)行并生成致命錯誤。現(xiàn)在,用require_once重寫上面的示例。

<?php
// Including file
require_once "my_functions.php";
// 調(diào)用函數(shù)
multiplySelf(2); // 輸出: 4
echo "<br>";
 
//再次包含該文件
require_once "my_functions.php";
// 調(diào)用函數(shù)
multiplySelf(5); // 輸出: 25
?>

正如您看到的,通過使用require_once代替require,腳本可以按預(yù)期工作。

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清