包含文件include和require在php中的区别(含详解)
发布:smiling 来源: PHP粉丝网 添加日期:2022-06-22 08:28:26 浏览: 评论:0
包含文件include和require在php中的区别(含详解)
一 使用语法和简介
1、include()语法:
include(/path/to/filename)
include()语句将在其被调用的位置处包含一个文件。包含一个文件与在该语句所在位置复制制定文件的数据具有相同内容的效果。
使用include()时可以忽略括号。在条件语句中使用include(),它必须包围在语句块大括号中,或者用其他语句包围符括起来。
2、include_once()语法:
include_once(filename)
include_once() 语句在脚本执行期间包含并运行指定文件。此行为和 include() 语句类似,唯一区别是include_once()会先判断一下这个文件在之前是否已经被包含过,如已经包含,则忽略本次包含。
3、require()语法:
require(filename)
require()在很大程度上与include相同,都是将一个模板文件包含到require调用坐在的位置。require和include之间有两点重要的区别。
一、无论require的位置如何,制定文件都将包含到出现require的脚本中。例如,即使require放在计算结果为假的if语句中,依然会包含指定文件。
二、require出错时,脚本将停止运行,而在使用include的情况下,脚本将继续执行。
4、require_once()语法:
require_once(filename)
require_once() 语句在脚本执行期间包含并运行指定文件。此行为和 require() 语句类似,唯一区别是require_once()会先判断一下这个文件在之前是否已经被包含过,如已经包含,则忽略本次包含。
二 区别总结
1、include()与require()语句区别。
示例一
- include('hello.php');
- echo 'include test final!';//include报错,但是会继续执行,显示:include test final!
- require('hello.php');
- echo 'require test final!';//require报错,停止代码的执行。
小结:
⑴ include() 产生一个警告,脚本会继续运行。
⑵ require() 则导致一个致命错误,脚本会停止运行。
换句话说,如果想在遇到丢失文件或遇到错误时停止处理页面就用 require()。如果想在遇到错误时继续处理页面就用 include()。
注意在 PHP 4.3.5 之前,包含文件中的语法错误不会导致程序停止,但从此版本之后会。
2、require() 无论如何都会包含文件,而include() 可以有选择地包含
示例二
- <?php
- if(FALSE){
- require('x.php');
- }
- if(FALSE){
- include('s.php');
- }
- ?>
上面的代码中:x.php 一定会被包含,而 s.php 一定不会被包含。
3、include_once()、require_once()与include()、require()的区别
include_once()和require_once()一样,应该用于在脚本执行期间同一个文件有可能被包含超过一次的情况下,想确保它只被包含一次以避免函数重定义,变量重新赋值等问题。这就是include_once()和require_once()与include() 和require()的主要区别。
三 需要注意的问题
1、路径问题
特别是嵌套包含的时候,一定得注意包含文件的路径。比如 A文件包含了B文件,B文件包含了C文件,A,B,C文件都不在同一个文件夹下,这个时候往往很容易出错误。
解决方案:可以使用 dirname(__FILE__) 语句,这句的意思是获得当前脚本的绝对路径。如:require_once(dirname(__FILE__).'/config.php');
2、效率问题
include_once(),require_once(),与include(),require()比较,效率要低一些,因为他们至少得先判断一下这个文件是否已包含。这一问题在PHP5版本有很大改进,不过效率还是有差别。
Tags: include require
- 上一篇:PHP实例计算经纬坐标间的距离
- 下一篇:最后一页
相关文章
- ·php include()调用文件简单实例(2013-11-29)
- ·php中文目录 include错误解决(2013-11-29)
- ·php include与require用法介绍(2013-11-30)
- ·require,include和require_once,include_once 出现open_basedir错误(2013-12-03)
- ·include的妙用,实现路径加密(2014-01-14)
- ·php中文件包含include(),require()介绍(2014-01-16)
- ·php中include_once和require_once性能分析(2014-02-27)
- ·php include()带参数实现方法(2014-03-02)
- ·php留言板制作教程(2014-03-11)
- ·PHP中全局变量global详解(2014-03-13)
- ·php中include require utf-8文件时出现空格(2014-03-18)
- ·php关于require和include的区别(2014-05-27)
- ·PHP中include()与require()的区别说明(2018-08-02)
- ·php中set_include_path和require,include介绍(2018-09-14)
- ·简单谈谈PHP中的include、include_once、require以及require_once语句(2019-08-22)
- ·php中的路径问题与set_include_path使用介绍(2020-09-09)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)