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

PHP中include與require使用方法區(qū)別詳解

php變成中,include()與require()的功能相同,include(include_once) 與 require(require_once)都是把把包含的文件代碼讀入到指定位置來(lái),但是二者再用法上有區(qū)別:(include()是有條件包含函數(shù),而require()則是無(wú)條件包含函數(shù))

1, 使用方式不同

(1) require 的使用方法如 require("requireFile.php"); 。這個(gè)函式通常放在 php 程式的最前面,php 程式在執(zhí)行前,就會(huì)先讀入 require 所指定引入的檔案,使它變成 php 程式網(wǎng)頁(yè)的一部份。常用的函式,亦可以這個(gè)方法將它引入網(wǎng)頁(yè)中。引入是無(wú)條件的,發(fā)生在程序執(zhí)行前,不管條件是否成立都要導(dǎo)入(可能不執(zhí)行)。
(2) include 使用方法如 include("includeFile.php"); 。這個(gè)函式一般是放在流程控制的處理區(qū)段中。php 程式網(wǎng)頁(yè)在讀到 include 的檔案時(shí),才將它讀進(jìn)來(lái)。這種方式,可以把程式執(zhí)行時(shí)的流程簡(jiǎn)單化。引入是有條件的,發(fā)生在程序執(zhí)行時(shí),只有條件成立時(shí)才導(dǎo)入(可以簡(jiǎn)化編譯生成的代碼)。

例如在下面的一個(gè)例子中,如果變量$somgthing為真,則將包含文件somefile:

復(fù)制代碼 代碼如下:
if($something){
include("somefile");
}

但不管$something取何值,下面的代碼將把文件somefile包含進(jìn)文件里:
復(fù)制代碼 代碼如下:
if($something){
require("somefile");
}

下面的這個(gè)有趣的例子充分說(shuō)明了這兩個(gè)函數(shù)之間的不同。
復(fù)制代碼 代碼如下:
$i = 1;
while ($i < 3) {
require("somefile.$i");
$i++;
}

在這段代碼中,每一次循環(huán)的時(shí)候,程序都將把同一個(gè)文件包含進(jìn)去。很顯然這不是程序員的初衷,從代碼中我們可以看出這段代碼希望在每次循環(huán)時(shí),將不同的文件包含進(jìn)來(lái)。如果要完成這個(gè)功能,必須求助函數(shù)include():
復(fù)制代碼 代碼如下:
$i = 1;
while ($i < 3) {
include("somefile.$i");
$i++;
}

2. 執(zhí)行時(shí)報(bào)錯(cuò)方式不同

include和require的區(qū)別:include引入文件的時(shí)候,如果碰到錯(cuò)誤,會(huì)給出提示,并繼續(xù)運(yùn)行下邊的代碼,require引入文件的時(shí)候,如果碰到錯(cuò)誤,會(huì)給出提示,并停止運(yùn)行下邊的代碼。例如下面例子:

 
寫(xiě)兩個(gè)php文件,名字為test1.php  和test2.php,注意相同的目錄中,不要存在一個(gè)名字是test3.php的文件。

test1.php
復(fù)制代碼 代碼如下:
<?php
include  (”test3.php”);
echo  “abc”;
?>

test2.php
復(fù)制代碼 代碼如下:
<?php
require (”test3.php”)
echo  “abc”;
?>

瀏覽第一個(gè)文件,因?yàn)闆](méi)有找到test999.php文件,我們看到了報(bào)錯(cuò)信息,同時(shí),報(bào)錯(cuò)信息的下邊顯示了abc,你看到的可能是類似下邊的情況:
Warning: include(test3.php) [function.include]: failed to open stream: No such file or directory in D:/WebSite/test.php on line 2

Warning: include() [function.include]: Failed opening ‘test3.php' for inclusion (include_path='.;C:/php5/pear') in D:/WebSite/test.php on line 2
abc (下面的被執(zhí)行了)

瀏覽第二個(gè)文件,因?yàn)闆](méi)有找到test3.php文件,我們看到了報(bào)錯(cuò)信息,但是,報(bào)錯(cuò)信息的下邊沒(méi)有顯示abc,你看到的可能是類似下邊的情況:
Warning: require(test3.php) [function.require]: failed to open stream: No such file or directory in D:/WebSite/test2.php on line 2

Fatal error: require() [function.require]: Failed opening required ‘test3.php' (include_path='.;C:/php5/pear') in D:/WebSite/test.php on line 2

下面的未被執(zhí)行,直接結(jié)束
總之,include時(shí)執(zhí)行時(shí)調(diào)用的,是一個(gè)過(guò)程行為,有條件的,而require是一個(gè)預(yù)置行為,無(wú)條件的。

php技術(shù)PHP中include與require使用方法區(qū)別詳解,轉(zhuǎn)載需保留來(lái)源!

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

主站蜘蛛池模板: 国产成人亚洲精品无广告 | 国产91福利 | 日本精品一区二区三区在线视频一 | 午夜视频在线观看一区 | xxxxxwwww免费视频| 在线视频免费国产成人 | 亚洲精品午夜aaa级久久久久 | 黄网站在线播放 | 怡红院最新网址 | 久久久噜噜噜久久网 | 亚洲网站一区 | 台湾佬自偷自拍情侣在线 | 一区二区三区四区国产精品 | 国产成人综合精品一区 | 日日噜噜夜夜狠狠tv视频免费 | 韩国三级久久 | 国产精品美女网站 | 欧美激性欧美激情在线 | 中文字幕国产剧情 | 亚洲欧美日韩国产色另类 | 在线成人综合色一区 | 日本zzzzwww大片免费 | 亚洲人成影视 | 天堂色综合 | 久久国产成人福利播放 | 婷婷色中文 | 免费看黄色录像片 | 综合免费一区二区三区 | 色多多免费视频观看区一区 | 99精品福利视频 | 91插插插网站 | 国产大片黄在线观看 | 夜福利视频 | 亚洲国产精品线播放 | 亚洲欧美日韩不卡 | 中文字幕天天躁日日躁狠狠 | 亚洲精品综合久久 | 国产在线视频第一页 | 国产精品七七在线播放 | 一区二区三区久久 | 日本欧美强乱视频在线 |