在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 迴圈的描述...