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

发布时间 - 2026-01-10 23:05:10    点击率:

最近有小伙伴,提问了有关于require_once的有关问题,对于程序中遇到的问题,无聊难度大小,只要bug存在就还值得我们去探索,去解决。针对这个问题,我把include和require的详细用法进行归纳。(结合查阅资料和自己的理解,整合出来的)希望能给有需要的小伙伴一点帮助。

引入文件:

首先需要一个php文件:

<?php
class shao//类名必须和文件名相同!!!
{
  public $xxx="666";
}
$shili = new shao();
echo $shili->xxx;
?>

引用:

<?php
//引入文件
include "shao.php";//引用文件;只能引用一遍
//引用多个则费劲
//include_once("shao.php");//一次又一次
//也可以require ("shao.php");
?>

其中include与require的区别:

require:

执行到require()时,只会读取一次档案,故常放在程序开头,档案引入后PHP会将网页档重新编译,让引入档成为原先网页的一部分。

require() :无条件包含,如果文件不存在,会报出一个fatal error.脚本停止执行
require遇到错误时,直接报错并停止运行程序

include:

执行到include()时,每次皆会读取档案,故常用于流程控制的区段,如条件判断或循环中。
include() : 有条件包含,如果文件不存在,会给出一个 warning,但脚本会继续执行
include遇到错误时(引用的文件不存在),PHP只是报错,但程序会继续运行下去

 以下为补充:

1. include有返回值,而require没有。
2. include()包括并运行指定文件 在处理失败时include() 产生一个警告,被导入的程序代码都会被执行,而且这些程序在执行的时候会拥有和源文件中呼叫到include()语句的位置相同的变量范围。你可以导入同一个服务器中的静态页面。
3. include_once()的作用和include()是几乎相同的 唯一的差别在于include_once()会先检查要导入的档案是不是已经在该程序中的其它地方被导入过了,如果有的话就不会再次重复导入(这项功能有时候是很重要的,比方说要导入的里面宣告了一些你自行定义好的函数,那么如果在同一个程序重复导入这个文件,在第二次导入的时候便会发生错误讯息,因为PHP不允许相同名称的函数被重复宣告第二次)。
4. require()会将目标文件的内容读入,并且把自己本身代换成这些读入的内容 在处理失败时require() 则导致一个致命错。 这个读入并且代换的动作是在PHP引擎编译你的程序代码的时候发生的,而不是发生在PHP引擎开始执行编译好的程序代码的时候(PHP 3.0引擎的工作方式是编译一行执行一行,但是到了PHP 4.0以后就有所改变了,PHP 4.0是先把整个程序代码全部编译完成后,再将这些编译好的程序代码一次执行完毕,在编译的过程中不会执行任何程序代码)。require()通常来导入静态的内容,而include()则适合用导入动态的程序代码。
5. 如同include_once(),require_once()会先检查目标文件的内容是不是在之前就已经导入过了,如果是的话,便不会再次重复导入同样的内容。
6. require是无条件包含也就是如果一个流程里加入require,无论条件成立与否都会先执行require。
7. require通常放在PHP程序的最前面,PHP程序在执行前,就会先读入require所指定引入的文件,使它变成PHP程序网页的一部份。常用的函数,亦可以这个方法将它引入网页中。
8. include一般是放在流程控制的处理部分中PHP程序网页在读到include的文件时,才将它读进来。这种方式可以把程序执行时的流程简单化。

推荐使用require_once()和include_once(),可以检测文件是否有重复包含。

自动加载:

被引用的php文件:

<?php
class shao//类名必须和文件名相同!!!
{
  public $xxx="666";
}

?>

自动加载:

<?php
function __autoload($asd)
{
  require $asd.".php";//可填地址查找
}
$shili = new shao();
echo $shili->xxx;
?>


# php  # include  # require  # 区别  # include和require区别  # PHP中include和require的区别实例分析  # PHP中include()与require()的区别说明  # PHP中include/require/include_once/require_once使用心得  # 简单谈谈PHP中的include、include_once、require以及require_onc  # PHP中require和include路径问题详解  # PHP包含文件函数include、include_once、require、require_once  # PHP中include与require使用方法区别详解  # php include和require的区别深入解析  # PHP中include和require的使用详解  # 放在  # 会先  # 不存在  # 过了  # 将它  # 报错  # 会将  # 自己的  # 小伙伴  # 是在  # 自动加载  # 你可以  # 多个  # 故常  # 推荐使用  # 这个问题  # 我把  # 一遍  # 只会  # 很重要 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel怎么集成Log日志记录_Laravel单文件与每日日志配置及自定义通道【详解】  英语简历制作免费网站推荐,如何将简历翻译成英文?  个人网站制作流程图片大全,个人网站如何注销?  Laravel事件和监听器如何实现_Laravel Events & Listeners解耦应用的实战教程  python中快速进行多个字符替换的方法小结  javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】  Laravel队列任务超时怎么办_Laravel Queue Timeout设置详解  Laravel如何自定义分页视图?(Pagination示例)  Laravel如何使用API Resources格式化JSON响应_Laravel数据资源封装与格式化输出  免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?  JS碰撞运动实现方法详解  标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?  Edge浏览器怎么启用睡眠标签页_节省电脑内存占用优化技巧  Laravel如何发送系统通知?(Notification渠道示例)  Laravel如何实现多对多模型关联?(Eloquent教程)  制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?  Laravel如何创建和注册中间件_Laravel中间件编写与应用流程  JavaScript实现Fly Bird小游戏  如何撰写建站申请书?关键要点有哪些?  如何在不使用负向后查找的情况下匹配特定条件前的换行符  如何在 React 中条件性地遍历数组并渲染元素  laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法  Laravel如何处理JSON字段的查询和更新_Laravel JSON列操作与查询技巧  如何彻底删除建站之星生成的Banner?  Laravel数据库迁移怎么用_Laravel Migration管理数据库结构的正确姿势  网站制作价目表怎么做,珍爱网婚介费用多少?  如何用低价快速搭建高质量网站?  Laravel怎么导出Excel文件_Laravel Excel插件使用教程  制作公司内部网站有哪些,内网如何建网站?  EditPlus中的正则表达式实战(6)  Laravel Livewire是什么_使用Laravel Livewire构建动态前端界面  ,怎么在广州志愿者网站注册?  logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?  如何自定义safari浏览器工具栏?个性化设置safari浏览器界面教程【技巧】  Laravel如何实现用户角色和权限系统_Laravel角色权限管理机制  Laravel中间件起什么作用_Laravel Middleware请求生命周期与自定义详解  如何快速使用云服务器搭建个人网站?  微信小程序 wx.uploadFile无法上传解决办法  如何获取免费开源的自助建站系统源码?  如何选择可靠的免备案建站服务器?  如何正确下载安装西数主机建站助手?  iOS正则表达式验证手机号、邮箱、身份证号等  Laravel如何实现密码重置功能_Laravel密码找回与重置流程  如何用y主机助手快速搭建网站?  Linux系统命令中screen命令详解  Laravel怎么发送邮件_Laravel Mail类SMTP配置教程  DeepSeek是免费使用的吗 DeepSeek收费模式与Pro版本功能详解  如何在Windows环境下新建FTP站点并设置权限?  北京网页设计制作网站有哪些,继续教育自动播放怎么设置?  php在windows下怎么调试_phpwindows环境调试操作说明【操作】