以下文檔也適用于require()。這兩種結(jié)構(gòu)除了在如何處理失敗之外完全一樣。include() 產(chǎn)生一個警告而require() 則導(dǎo)致一個致命錯誤。換句話說,如果你想在遇到丟失文 " /> 国产综合在线观看,欧美视频a,中日一级片

一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

php include和require的區(qū)別深入解析

nclude()
The include() 語句包括并運行指定文件。

以下文檔也適用于require()。這兩種結(jié)構(gòu)除了在如何處理失敗之外完全一樣。include() 產(chǎn)生一個警告而require() 則導(dǎo)致一個致命錯誤。換句話說,如果你想在遇到丟失文件時停止處理頁面就用require()。include() 就不是這樣,腳本會繼續(xù)運行。同時也要確認(rèn)設(shè)置了合適的include_path。

當(dāng)一個文件被包括時,其中所包含的代碼繼承了include 所在行的變量范圍。從該處開始,調(diào)用文件在該行處可用的任何變量在被調(diào)用的文件中也都可用。

例子12-3. 基本的 include() 例子
vars.php
復(fù)制代碼 代碼如下:
<?php
$color = 'green';
$fruit = 'apple';
?>

test.php
復(fù)制代碼 代碼如下:
<?php
echo "A $color $fruit"; // A
include 'vars.php';
echo "A $color $fruit"; // A green apple
?>

如果include 出現(xiàn)于調(diào)用文件中的一個函數(shù)里,則被調(diào)用的文件中所包含的所有代碼將表現(xiàn)得如同它們是在該函數(shù)內(nèi)部定義的一樣。所以它將遵循該函數(shù)的變量范圍。

例子12-4. 函數(shù)中的包括
復(fù)制代碼 代碼如下:
<?php
function foo()
{
global $color;
include 'vars.php';
echo "A $color $fruit";
}
/* vars.php is in the scope of foo() so *
* $fruit is NOT available outside of this *
* scope. $color is because we declared it *
* as global. */
foo(); // A green apple
echo "A $color $fruit"; // A green
?>

當(dāng)一個文件被包括時,語法解析器在目標(biāo)文件的開頭脫離php 模式并進入HTML 模式,到文件結(jié)尾處恢復(fù)。由于此原因,目標(biāo)文件中應(yīng)被當(dāng)作php 代碼執(zhí)行的任何代碼都必須被包括在有效的php 起始和結(jié)束標(biāo)記之中。

如果“URL fopen wrappers”在php 中被激活(默認(rèn)配置),可以用URL(通過HTTP)而不是本地文件來指定要被包括的文件。如果目標(biāo)服務(wù)器將目標(biāo)文件作為php 代碼解釋,則可以用適用于HTTP GET 的URL 請求字符串來向被包括的文件傳遞變量。嚴(yán)格的說這和包括一個文件并繼承父文件的變量空間并不是一回事;該腳本文件實際上已經(jīng)在遠程服務(wù)器上運行了,而本地 腳本則包括了其結(jié)果。

警告
Windows 版本的php 目前還不支持該函數(shù)的遠程文件訪問,即使allow_url_fopen 選項已被激活。

例子12-5. 通過HTTP 進行的include()
復(fù)制代碼 代碼如下:
<?php
/* This example assumes that www.example.com is configured to parse .php *
* files and not .txt files. Also, 'Works' here means that the variables *
* $foo and $bar are available within the included file. */
// Won't work; file.txt wasn't handled by www.example.com as php
include 'http://www.example.com/file.txt?foo=1&bar=2';

// Won't work; looks for a file named 'file.php?foo=1&bar=2' on the
// local filesystem.
include 'file.php?foo=1&bar=2';

// Works.
include 'http://www.example.com/file.php?foo=1&bar=2';

$foo = 1;
$bar = 2;
include 'file.txt'; // Works.
include 'file.php'; // Works.
?>

相關(guān)信息參見使用遠程文件,fopen() 和file()。
因為include() 和require() 是特殊的語言結(jié)構(gòu),在條件語句中使用必須將其放在語句組中(花括號中)。

例子12-6. include() 與條件語句組
復(fù)制代碼 代碼如下:
<?php
// This is WRONG and will not work as desired.
if ($condition)
include $file;
else
include $other;
// This is CORRECT.
if ($condition) {
include $file;
} else {
include $other;
}
?>

處理返回值:可以在被包括的文件中使用return() 語句來終止該文件中程序的執(zhí)行并返回調(diào)用它的腳本。同樣也可以從被包括的文件中返回值。可以像普通函數(shù)一樣獲得include 呼叫的返回值。

注: 在php 3 中,除非是在函數(shù)中調(diào)用否則被包括的文件中不能出現(xiàn)return。在此情況下return() 作用于該函數(shù)而不是整個文件。

例子12-7. include() 和return() 語句
return.php
復(fù)制代碼 代碼如下:
<?php
$var = 'php';
return $var;
?>

noreturn.php
復(fù)制代碼 代碼如下:
<?php
$var = 'php';
?>

testreturns.php
復(fù)制代碼 代碼如下:
<?php
$foo = include 'return.php';
echo $foo; // prints 'php'
$bar = include 'noreturn.php';
echo $bar; // prints 1
?>

$bar 的值為1 是因為include 成功運行了。注意以上例子中的區(qū)別。第一個在被包括的文件中用了return() 而另一個沒有。其它幾種把文件“包括”到變量的方法是用fopen(),file() 或者include() 連同輸出控制函數(shù)一起使用。

php技術(shù)php include和require的區(qū)別深入解析,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 日韩一区二区在线免费观看 | 国产精品视频一区二区三区w | 亚洲六月丁香六月婷婷花 | 国产福利在线看 | 久久久久777777人人人视频 | 超pen个人视频国产免费观看 | 国产婷婷色综合成人精品 | 在线观看黄网视频免费播放 | 国产高级黄区18勿进一区二区 | 91国语精品自产拍在线观看性色 | 精品国产精品国产 | 日韩色在线 | 91福利精品老师国产自产在线 | 国产麻豆91网在线看 | 美女一级ba大片免色野外 | 天天做天天摸天天爽天天爱 | 成年女人免费又黄又爽视频 | 加勒比啪啪 | 久久九九有精品国产56 | 99成人国产精品视频 | 韩国一大片a毛片女同 | h网站亚洲| 午夜剧场刺激性爽免费视频 | 亚洲成在人线中文字幕 | 一区三区三区不卡 | 国产精品资源网站在线观看 | 黄色网址在线播放 | 成人国产一区二区 | 天天伊人 | 国产精品亚洲自在线播放页码 | 亚洲一区二区免费在线观看 | 一区二区视频免费看 | 中文字幕佐山爱一区二区免费 | 女人夜色黄网在线观看 | 亚洲免费午夜视频 | 在线播放亚洲美女视频网站 | 国产精品色综合久久 | 不卡国产00高中生在线视频 | 亚洲短视频在线观看 | 国产熟睡乱子伦视频观看软件 | 久久免费精品一区二区 |