PHP中include require 区别和require的区别详解

您所在的位置: &
PHP include()和require()方法的区别
PHP include()和require()方法的区别
本文总结了PHP的include()和require()两种包含外部文件的方法的不同之处。基本上就是,加载失败的处理方法,性能,以及使用弹性方面的不同。
PHP的include()和require()是两种包含外部文件的方法,对于这两种方法有什么区别,很多初学者可能不是很明白。下面总结一下PHP include()和require()的区别:
1:加载失败的处理方式不同:
include()会产生一个警告,而require()则导致一个致命的错误(出现错误,脚本停止执行)
require() :如果文件不存在,会报出一个fatal error.脚本停止执行
include() : 如果文件不存在,会给出一个 warning,但脚本会继续执行
这里特别要注意的是:使用include()文件不存在时,脚本继续执行,这种情况只出现在PHP 4.3.5之前
推荐使用require_once()和include_once(),可以检测文件是否有重复包含。
对include()来说,在 include()执行时文件每次都要进行读取和评估;
而对于require()来说,文件只处理一次(实际上,文件内容替换了require()语句)。
这就意味着如果有包含这些指令之一的代码和可能执行多次的代码,则使用require()效率比较高。
另一方面,如果每次执行代码时相读取不同的文件,或者有通过一组文件叠代的循环,就使用include(),
因为可以给想要包括的文件名设置一个变量,当参数为include()时使用这个变量。
3.二种方式提供不同的使用弹性。
require 的使用方法如 require("./inc.php"); 。通常放在 PHP 程式的最前面,PHP 程式在执行前,就会先读入 require 所指定引入的档案,使它变成 PHP 程式网页的一部份。
include 使用方法如 include("./inc/.php"); 。一般是放在流程控制的处理区段中。PHP 程式网页在读到 include 的档案时,才将它读进来。这种方式,可以把程式执行时的流程简单化。require即使在条件位FALSE的时候也会被包含,而include只会在执行到改位置时候才会去执行。
require_once() 语句在脚本执行期间包括并运行指定文件。此行为和 require() 语句类似,唯一区别是如果该文件中的代码已经被包括了,则不会再次包括。require_once()函数的作用和 require() 是几乎相同的
include_once() 语句在脚本执行期间包括并运行指定文件。此行为和 include() 语句类似,唯一区别是如果该文件中的代码已经被包括了,则不会再次包括。include_once()函数的作用和 include() 是几乎相同的
require_once的作用是会检查之前是否加载过该文件,如果没有加载则加载 如果加载过就不再次加载,比如某文件定义了一个类型 如果两次加载该文件会出现错误
以上就是PHP include()和require()方法的区别。
【编辑推荐】
【责任编辑: TEL:(010)】
关于的更多文章
AngularJS是很多Web开发人员在打造单页面应用程序时的首选创建方
讲师: 4人学习过讲师: 7人学习过讲师: 66人学习过
春运大军前天正式启动了。昨天的新闻有几条不怎么好的
每年的一月份大约都是在看似忙忙碌碌中度过的。最近一
自从MySQL被Oracle收购以后,PostgreSQL逐渐成为开源
本书是关于Acegi、CAS的权威教程,是Java/Java EE安全性开发者的必备参考书。无论是Java EE安全性编程模型的背景和基础知识,还
51CTO旗下网站博客访问: 8109923
博文数量: 2159
博客积分: 10377
博客等级: 上将
技术积分: 21595
注册时间:
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
php中include与require区别整理
整理时间:]
引用重复的代码片段、函数、类、文件等可以考虑使用这两个函数。
注意:include 包含的文件如果有ERROR则会报一个警告程序会继续执行。而require则不然如果遇到错误就会中止掉。
文件代码如下:
require("c.php");&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //服务器没有这个文件。用require就会报错了
echo "this is a.php";
require(c.php) []:
failed to open stream: No such file or directory in E:\persite\CODES\zt\a.php
Fatal error: require() []: Failed
opening required 'c.php' (include_path='.;C:\php5\pear') in E:\persite\CODES\zt\a.php
on line 2现将a.php里面的代码修改成如下的代码:
include("c.php");
echo "this is a.php";
运行提示:
include(c.php) []:
failed to open stream: No such file or directory in E:\persite\CODES\zt\a.php
Warning: include() []:
Failed opening 'c.php' for inclusion (include_path='.;C:\php5\pear') in E:\persite\CODES\zt\a.php
this is a.php
只是警告。程序能够正常执行完!
通过使用include可以将一些静态的文件给包含进来。像网页的底部信息、顶部信息等都是可以通过include进来的!如果是程序类的代码我是用require的方法进行引用。因为我觉得如果你的程序需要用到这require里面的文件如果有错误了肯定得中止掉了!
二、性能方面的差异
如果包含这些指令之一的代码和可能执行多次的代码,则可以使用require效率高!
Require 通常是放在程式的最前面,PHP在执行前,就会读入require
所指定引入的档案,让它变成PHP程式网页的一部分。(一般像在我的MVC中的M层要使用DB的话就可以将其require进来!)
而include 表示读到这个函数的时候才将它读进来。如果没有执行到就不会引入进来!
require("b.php");
echo "this is a.php";
其中的b.php代码如下:
echo " this is b.php";
this is b.phpthis is a.php
再看a.php代码我修改一下
&&&&&&&& require("b.php");&&&
echo "this is a.php";
我运行了一下:
this is a.php&&&& 并没有输出b里面的内容呀。
谁能帮我分析一下吗?谢谢
阅读(577) | 评论(1) | 转发(0) |
相关热门文章
给主人留下些什么吧!~~
大家帮忙解释下谢谢!
请登录后评论。PHP中include和require的区别详解
PHP中include和require的区别详解
最近有小伙伴,提问了有关于require_once的有关问题,对于程序中遇到的问题,无聊难度大小,只要bug存在就还值得我们去探索,去解决。针对这个问题,我把include和require的详细用法进行归纳。(结合查阅资料和自己的理解,整合出来的)希望能给有需要的小伙伴一点帮助。
include和require:
require()语句的性能与include()相类似,都是包括并运行指定文件。不同之处在于:对include()语句来说,在执行文件时每次都要进行读取和评估;而对于require()来说,文件只处理一次(实际上,文件内容替换require()语句)。这就意味着如果可能执行多次的代码,则使用require()效率比较高。另外一方面,如果每次执行代码时是读取不同的文件,或者有通过一组文件迭代的循环,就使用include()语句。
require的使用方法如:require("myfile.php"),这个语句通常放在PHP脚本程序的最前面。PHP程序在执行前,就会先读入require()语句所引入的文件,使它变成PHP脚本文件的一部分。include使用方法和require一样如:include("myfile.php"),而这个语句一般是放在流程控制的处理区段中。PHP脚本文件在读到include()语句时,才将它包含的文件读取进来。这种方式,可以把程式执行时的流程简单化。
oincluce在用到时加载
orequire在一开始就加载
o_once后缀表示已加载的不加载
PHP系统在加载PHP程序时有一个伪编译过程,可使程序运行速度加快。但incluce的文档仍为解释执行。include的文件中出错了,主程序继续往下执行,require的文件出错了,主程序也停了,所以包含的文件出错对系统影响不大的话(如界面文件)就用include,否则用require。  require()和include()语句是语言结构,不是真正的函数,可以像php中其他的语言结构一样,例如echo()可以使用echo("ab")形式,也可以使用echo "abc"形式输出字符串abc。require()和include()语句也可以不加圆括号而直接加参数。
include_once()和require_once():
include_once()和require_once()语句也是在脚本执行期间包括运行指定文件。此行为和include()语句及require()类似,使用方法也一样。唯一区别是如果该文件中的代码已经被包括了,则不会再次包括。这两个语句应该用于在脚本执行期间,同一个文件有可能被包括超过一次的情况下,确保它只被包括一次,以避免函数重定义以及变量重新赋值等问题。
文件引用方式:
&#160include()执行时需要引用的文件每次都要进行读取和评估,require()执行时需要引用的文件只处理一次(实际上执行时需要引用的文件内容替换了require()语句)可以看出若有包含这些指令之一的代码和可能执行多次的代码,则使用require()效率比较高,若每次执行代码时相读取不同的文件或者有通过一组文件叠代的循环,就使用include(),可以给想要包括的文件名设置变量,当参数为 include()时使用这个变量。

我要回帖

更多关于 php use include 区别 的文章

 

随机推荐