PHP中include和require的区别详解
PHP中引用方法主要分为两种,分别是:
include (细分为include和include_once)
require (细分为require和require_once)
这两类都可以将 PHP 文件的内容插入另一个 PHP 文件(在服务器执行它之前)。但是在错误处理方面有一定的区别.
require 会生成致命错误(E_COMPILE_ERROR)并停止脚本
include 只生成警告(E_WARNING),并且脚本会继续
所以在使用的时候要明确
如果你的程序需要在引用错误的时候还要继续执行,就使用include(如:不怎么重要的文件.不会对结果产生很大影响的文件.)
如果引用失败就立即停止,必须保证程序完整性的,则使用require.(如:货币计算处理文件,对结果会产生很大影响,很重要的文件.)
include_once和require_once
这两种在错误处理的时候与include和require一致,但是在使用include_once和require_once引用文件的时候,仅仅引用一次,可以避免多次引用时错误.
在实际使用中,建议使用include_once和require_once来引用文件,既能达到原有目的,也能避免多次引用带来的错误.
2016-07-12 · 百度知道合伙人官方认证企业
require 的使用方法如 require("MyRequireFile.php"); 。这个函式通常放在 PHP 程式的最前面,PHP 程式在执行前,就会先读入 require 所指定引入的档案,使它变成 PHP 程式网页的一部份。常用的函式,亦可以这个方法将它引入网页中。
include 使用方法如 include("MyIncludeFile.php"); 。这个函式一般是放在流程控制的处理区段中。PHP 程式网页在读到 include 的档案时,才将它读进来。这种方式,可以把程式执行时的流程简单化。
PHP中include和require的区别详解:
1、加载文件方式不同
对于include()语句,在执行文件时每次都要进行读取和评估;
对于require()来说,文件只处理一次(实际上,文件内容替换require()语句)。
2、使用的场景不同:
如果每次执行代码时是读取不同的文件,或者有通过一组文件迭代的循环,就使用include()语句。
require的使用方法如:require("myfile.php"),这个语句通常放在PHP脚本程序的最前面。
include使用方法和require一样如:include("myfile.php"),而这个语句一般是放在流程控制的处理区段中。
3、使用上的区别:
include引入文件的时候,如果碰到错误,会给出提示,并继续运行下边的代码。
require引入文件的时候,如果碰到错误,会给出提示,并停止运行下边的代码。
举例说明,写两个php文件,名字为test-include.php和test-require.php,注意相同的目录中,不要存在一个名字是test-nothing.php的文件。
test-include.php代码如下:
<?php
include 'test-nothing.php';
echo 'abc';
?>
test-require.php代码如下:
<?php
require 'test-nothing.php';
echo 'abc';
?>
浏览http://localhost/test-include.php,因为没有找到test-nothing.php文件,我们看到了报错信息,同时,报错信息的下边显示了abc,你看到的可能是类似下边的情况:
Warning: include(test-nothing.php) [function.include]: failed to open stream: No such file or directory in D:\www\test-include.php on line 2
Warning: include() [function.include]: Failed opening 'test-nothing.php' for inclusion (include_path='.;C:\php5\pear') in D:\www\test-include.php on line 2
浏览http://localhost/test-require.php,因为没有找到test-nothing.php文件,我们看到了报错信息,但是,报错信息的下边没有显示abc,你看到的可能是类似下边的情况:
Warning: require(test-nothing.php) [function.require]: failed to open stream: No such file or directory in D:\www\test-require.php on line 2
Fatal error: require() [function.require]: Failed opening required 'test-nothing' (include_path='.;C:\php5\pear') in D:\www\test-require.php on line 2