`
844604778
  • 浏览: 544839 次
文章分类
社区版块
存档分类
最新评论

PHP中include与require的用法区别

 
阅读更多

在PHP变成中,include()与require()的功能相同,include(include_once) 与 require(require_once)都是把把包含的文件代码读入到指定位置来,但是二者再用法上有区别:(include()是有条件包含函数,而require()则是无条件包含函数

1, 使用方式不同

(1) require 的使用方法如 require("requireFile.php"); 。这个函式通常放在 PHP 程式的最前面,PHP 程式在执行前,就会先读入 require 所指定引入的档案,使它变成 PHP 程式网页的一部份。常用的函式,亦可以这个方法将它引入网页中。引入是无条件的,发生在程序执行前,不管条件是否成立都要导入(可能不执行)。
(2) include 使用方法如 include("includeFile.php"); 。这个函式一般是放在流程控制的处理区段中。PHP 程式网页在读到 include 的档案时,才将它读进来。这种方式,可以把程式执行时的流程简单化。引入是有条件的,发生在程序执行时,只有条件成立时才导入(可以简化编译生成的代码)。


例如在下面的一个例子中,如果变量$somgthing为真,则将包含文件somefile:
if($something){
include("somefile");
}
但不管$something取何值,下面的代码将把文件somefile包含进文件里:
if($something){
require("somefile");
}
下面的这个有趣的例子充分说明了这两个函数之间的不同。
$i = 1;
while ($i < 3) {
require("somefile.$i");
$i++;
}
在这段代码中,每一次循环的时候,程序都将把同一个文件包含进去。很显然这不是程序员的初衷,从代码中我们可以看出这段代码希望在每次循环时,将不同的文件包含进来。如果要完成这个功能,必须求助函数include():
$i = 1;
while ($i < 3) {
include("somefile.$i");
$i++;
}

2. 执行时报错方式不同

include和require的区别:include引入文件的时候,如果碰到错误,会给出提示,并继续运行下边的代码,require引入文件的时候,如果碰到错误,会给出提示,并停止运行下边的代码。例如下面例子:

写两个php文件,名字为test1.php 和test2.php,注意相同的目录中,不要存在一个名字是test3.php的文件。
test1.php
<?PHP
include (”test3.php”);
echo “abc”;
?>

test2.php
<?PHP
require (”test3.php”)
echo “abc”;
?>

浏览第一个文件,因为没有找到test999.php文件,我们看到了报错信息,同时,报错信息的下边显示了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 (
下面的被执行了

浏览第二个文件,因为没有找到test3.php文件,我们看到了报错信息,但是,报错信息的下边没有显示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

下面的未被执行,直接结束

总之,include时执行时调用的,是一个过程行为,有条件的,而require是一个预置行为,无条件的。


分享到:
评论

相关推荐

    PHP中include与require使用方法区别详解

    在PHP变成中,include()与require()的功能相同,include(include_once) 与 require(require_once)都是把把包含的文件代码读入到指定位置来,但是二者再用法上有区别:(include()是有条件包含函数,而require()...

    php使用include 和require引入文件的区别

    针对这个问题,我把include和require的详细用法进行归纳。(结合查阅资料和自己的理解,整合出来的)希望能给有需要的小伙伴一点帮助。 引入文件: 首先需要一个php文件: &lt;?php class shao//类名必须和文件名...

    深入掌握include_once与require_once的区别

    ①作用及用法 可以减少代码的重复 include(_once)(”文件的路径”)与require(_once)(”文件的路径”) ②理解 说白了,就是用包含进来的文件中的内容 代替 include(_once),require(_once)那一行 ③注意 include/...

    php中echo()和print()、require()和include()等易混淆函数的区别

    1.echo和print的区别 PHP中echo和print的功能基本相同(输出),但是两者之间还是有细微差别的。echo输出后没有返回值,但... 2.include与require的区别 include()与require()的功能也基本相同(包含),但在用法上

    PHP中你应该知道的require()文件包含的正确用法

    以前看一些PHP框架源码的时候,很奇怪在文件包含的...a.php 和 b.php 都包含了 c.php,最后 c.php 包含了d文件夹下的一个php文件——d/d.php。 我们先来看a.php: &lt;?php $file_name = 'a.php'; echo "this is a.

    PHP include任意文件或URL介绍

    include和require的用途是包含并运行指定的文件。在官方手册没有说明被包含的文件类型,那么PHP到底能不能include一个非PHP文件呢?

    php及javascript学习整理

    整理了一些php学习资料和常用的javascript语句常用的正则表达式还有匹配函数的解析问题及include和require用法介绍

    解析PHP中一些可能会被忽略的问题

    1.echo和print的区别PHP中echo和print的功能基本相同(输出),但是两者之间还是有细微差别的。echo输出后没有返回值,但...2.include与require的区别include()与require()的功能也基本相同(包含),但在用法上也有一些

    PHP易混淆函数的区别及用法汇总

    主要介绍了PHP易混淆函数的区别及用法,实例汇总了如echo和print、include与require、!isset和empty等函数,是非常实用的技巧,需要的朋友可以参考下

    PHP判断文件是否被引入的方法get_included_files用法示例

    本文实例讲述了PHP判断文件是否被引入的方法get_included_files用法。分享给大家供大家参考,具体如下: &lt;?php // 本文件是 abc.php include 'test1.php'; include_once 'test2.php'; require 'test3.php'; ...

    php-sitemap-generator:简单PHP网站地图生成器

    composer require icamys/php-sitemap-generator 民意调查 如果您发现此软件包有用,请以改善您的站点地图生成体验。 用法 &lt;?php include "vendor/autoload.php" ; $ yourSiteUrl = 'https://example.com' ; //...

    PHP基础讲义pdf版含视频下载地址。

    目 录 1 ...2. include_require详解 124 3. 魔术引号与递归转义 127 4. 错误报告设置 129 5. 函数封装 131 6. 贴吧主页开发 133 7. 贴吧回复页开发 135 8. 时间戳格式化 136 9. 回复数量之sql优化 137

    用JS实现的一个include函数

    很多语言都有类似php中的include和require功能的函数,而唯独javascript没有。 很早就想在js中实现类似的功能,尝试了很多次都没有成功,那天在google上搜索一些关于动态加载css文件的关键词时,发现一个blog(地址...

    php封装的数据库函数与用法示例【参考thinkPHP】

    本文实例讲述了php封装的数据库函数与用法。分享给大家供大家参考,具体如下: 从Thinkphp里面抽离出来的数据库模块,感觉挺好用 common.php: &lt;?PHP /** * 通用函数 */ //包含配置文件 if (is_file&#40;...

    php中autoload的用法总结

    在PHP中使用类时,我们必须在使用前加载进来,不管是通过 require 的方式还是 include 的方式,但是会有两个问题影响我们做出加载的决定。 首先是不知道这个类文件存放在什么地方,另外一个就是不知道什么时候需要...

    PHP-CSS-Parser:一个可以解析 CSS 并在 PHP 数组中返回结果的 PHP 类

    PHP-CSS-解析器 一个可以解析 CSS 并在 PHP 数组中返回结果的 PHP 类。... require_once "CSS-Parser.php" ; // use the parser $ result = CSSParser :: parse ( $ str ); // show result print_r ( $ result );

    基于PHP常用函数的用法详解

    复制代码 代码如下:&lt;?...d月份几号数字,D星期几...//include,include_once.require,require_once//require(“file.php”) 在PHP程序执行前就会先读入require所指定引进的文件,如出现错误是致命的。//include(“file.

    exposer:PHP类公开私有和受保护的方法和属性

    访问PHP类的私有和受保护的方法与属性 为什么? 对于在类中测试私有和受保护的方法很有用。 ##安装 您可以简单地下载或复制并粘贴ClassExposer.php类,并将其包含在您自己的php文件中。 作曲家 也可以通过...

    php-sets:PHP的类似Java的Set数据结构的实现。 Set允许存储任何值,没有可以按插入顺序迭代的重复项

    通过运行以下命令,可通过获得PHP-Set: composer require jakewhiteley/php-sets 然后将库包含在您的项目中,如下所示: include ( 'vendor/autoload.php' );use PhpSets \ Set ;基本用法创建一个集

Global site tag (gtag.js) - Google Analytics