四種語句
php中有四個載入檔案的語句:include、require、include_once、require_once。
基本語法
require:require函式一般放在php指令碼的最前面,php執行前就會先讀入require指定引入的檔案,包含並嘗試執行引入的指令碼檔案。require的工作方式是提高php的執行效率,當它在同乙個網頁中解釋過一次後,第二次便不會解釋。但同樣的,正因為它不會重複解釋引入檔案,所以當php中使用迴圈或條件語句來引入檔案時,需要用到include。
include:可以放在php指令碼的任意位置,一般放在流程控制的處理部分中。當php指令碼執行到include指定引入的檔案時,才將它包含並嘗試執行。這種方式可以把程式執行時的流程進行簡單化。當第二次遇到相同檔案時,php還是會重新解www.cppcns.com釋一次,include相對於require的執行效率下降很多,同時在引入檔案中包含使用者自定義函式時,php在解釋過程中會發生函式重複定義問題。
require_once / include_once:分別與require / include作用相同,不同的是他們在執行到時會先檢查目標內容是不是在之前已經匯入過,如果匯入過了,那麼便不會再次重複引入其同樣的內容。
相互區別
include和require:
include有返回值,而require沒有返回值。
include在載入檔案失敗時,會生成乙個警告(e_warning),在錯誤發生後指令碼繼續執行。所以include用在希望繼續執行並向使用者輸出結果時。
<?php include './tsest.php';
echo 'this is test1';
?>
<?php echo 'this is test2\n';
function test()
?>
//結果:
this is test1
require在載入失敗時會生成乙個致命錯誤(e_compile_error),在錯誤發生後指令碼停止執行。一般用在後續**依賴於載入的檔案的時候。
<?php require './tsest.php';
echo 'this is test1';
?>
<?php echo 'this is test2\n';
function test()
?>
結果:include和include_once:
include載入的檔案不會判斷是否重複,只要有include語句,就會載入一次(即使可能出現重複載入)。而include_once載入檔案時會有內部判斷機制判斷前面**是否已經載入過。這裡需要注意的是include_once是根據前面有無引入相同路徑的檔案為判斷的,而不是根據檔案中的內容(即兩個待引入的檔案內容相同,使用include_once還是會引入兩個)。
<?php include './test2.php';
echo 'this is test1';
include './test2.php';
?>
<?php echo 'this is test2';
?>
//結果:
thi is test2this is test1this is test2
<?php include './test2.php';
echo 'this is test1';
include_once './test2.php';
?>
程式設計客棧<?php echo 'this is test2';
?>
//結果:
this is test2this is test1
<?php include_once './test2.php';
echo 'this is test1';
include './test2.php';
?>
<?php echo 'this is test2';
?>
//結果:
this is test2this is test1this is test2
<?php include_once './test2.php';
echo 'this is test1';
include_once 'onipf./test2.php';
?>
<?php echo 'this is test2';
?>
//結果:
this is test2this is test1
require和require_once:同include和include_once的區別相同。
以上就是本次介紹的全部知識點內容,感謝大家對我們的支援。
本文標題: php檔案包含的幾種方式總結
本文位址:
PHP檔案包含漏洞總結
php檔案包含漏洞的產生原因是在通過php的函式引入檔案時,由於傳入的檔名沒有經過合理的校驗,從而操作了預想之外的檔案,就可能導致意外的檔案洩露甚至惡意的 注入。最常見的就屬於本地檔案包含 local file inclusion 漏洞了。我們來看下面一段index.php 1 2 3 4 5 if...
PHP檔案包含漏洞總結
0x00 前言 php檔案包含漏洞的產生原因是在通過php的函式引入檔案時,由於傳入的檔名沒有經過合理的校驗,從而操作了預想之外的檔案,就可能導致意外的檔案洩露甚至惡意的 注入。最常見的就屬於本地檔案包含 local file inclusion 漏洞了。我們來看下面一段index.php 純文字檢...
PHP檔案包含漏洞總結
php檔案包含漏洞的產生原因是在通過php的函式引入檔案時,由於傳入的檔名沒有經過合理的校驗,從而操作了預想之外的檔案,就可能導致意外的檔案洩露甚至惡意的 注入。最常見的就屬於本地檔案包含 local file inclusion 漏洞了。我們來看下面一段index.php if get func ...