php之include,require檔案包含

2021-06-20 09:51:52 字數 1657 閱讀 8006

在php中,我們可以使用include和require兩類函式來包含乙個檔案,include和require在功能上完全相同,只是在出現錯誤時的處理方式不同,如果包含時出現錯誤,如被包含的檔案不存在,include會產生乙個警告,程式繼續往下執行,而require則會產生乙個嚴重的錯誤,終止程式的執行。由於include和require是一種語言結構,而不是函式,在使用時不需要括號,這樣使用既可:include 'inc.php';

當乙個檔案被包含時,語法解析器在目標檔案的開頭脫離 php 模式並進入 html 模式,到檔案結尾處恢復。由於此原因,目標檔案中應被當作 php **執行的任何**都必須被包括在有效的php起始和結束標記之中。

例如,有如下被包含檔案:

inc.php

<?php

echo 'hello,i am included!';

?>

這個檔案中包含上面的inc.php檔案

test.php

<?php

echo 'before include';

include 'inc.php';

echo 'after include';

?>

則以上**的效果相當於這樣:

<?php

echo 'before include';

?>

<?php

echo 'hello,i am included!';

?>

<?php

echo 'after include';

?>

當乙個檔案被包含時,其中所包含的**繼承了 include 所在行的變數範圍。從該處開始,呼叫檔案在該行處可用的任何變數在被呼叫的檔案中也都可用。不過所有在包含檔案中定義的函式和類都具有全域性作用域。

如果使用相對路徑,php會在include_path指定的相對目錄中去尋找被包含的檔案,相關函式為get/set_include_path(),尋找包含檔案的順序先是在當前工作目錄的相對的 include_path 下尋找,然後是當前執行指令碼所在目錄相對的 include_path 下尋找。例如 include_path 是 .,當前工作目錄是 /www/,指令碼中要 include 乙個 include/a.php 並且在該檔案中有一句 include "b.php",則尋找 b.php 的順序先是 /www/,然後是 /www/include/。如果檔名以 ./ 或者 ../ 開始,則只在當前工作目錄相對的 include_path 下尋找。

include和require是有返回值的,包含成功時返回1,失敗時返回false,如果在被包含的檔案中使用return來返回乙個值,則include的返回值也為該值,而不是預設的1.

被包含的檔案中往往有函式的定義,如果這樣的檔案被包含兩次,則會出現函式重定義的錯誤,解決的辦法是使用include_once或者require_once替代,這兩個函式會檢查檔案是否已經被包含,如果已經被包含過,則不會再去包含它,並返回true。

對於以下**:

if($condition)

include 'inc.php';

只有當$condition條件為真時,php才會去包含並解析執行inc.php,條件為假時,php並不會去包含inc.php.

PHP之認識PHP 一

1.1php乙個最簡單的例子 echo my first php script 1.2php的使用 1.3注釋 這是 php 單行注釋 這是 php 多行 注釋 1.4變數 php 變數規則 1.5echo與print echo print 和 print r的區別 1.6資料型別 string 字...

PHP學習之PHP上傳檔案

用乙個例子記錄使用php上傳檔案的方法 1 編寫上傳介面index.php,如下 這裡必須注意的是,上傳檔案需要在表單中指定enctype屬性為multipart form data 2 接收檔案,編寫另外乙個檔案,取名為upload.php,如下 獲取檔案型別 type files file ty...

php 結束for迴圈 PHP 之 for 迴圈

for 迴圈在很多的程式語言中都被支援,是一種常見的迴圈用法,也算是我們學習每門程式語言中最基礎的知識點。但正是因為基礎,所以才容易被忽略,久而久之,甚至會誤解。本文 phpha 就對 php 中的 for 迴圈進行複習,不求溫故而知新,但求能矯枉過正。首先看下 php 手冊中對 for 迴圈的描述...