php 文件包含 include、include_once、require、require_once
简言之,include某文件:把某文件的代码粘过来,如果该文件不存在,也继续执行下面的代码,带_once的是看看之前引用过没,引用过就不引用了(_once这行代码的心里活动:“之后引用过没有我不关心,我只看我之前引用过没”)。
require和include的区别仅仅在报错的处理上,require某文件时,文件不存在则报错
include、include_once、require、require_once
include某文件:把某文件的代码粘过来,替换掉include某文件这个语句,如果该文件不存在,也继续执行下面的代码
require某文件:和include不同的地方是,如果文件不存在,报错
带_once的是,朝前看,如果之前引入过该文件,那么就不引入了!带_once的效率低点。
详情如下:
---------------------------------------
include某文件,就等于把该文件中代码粘贴过来,替换掉include这句话
这样一来,看看多次include一个文件会是什么效果
a1.php代码改为如下;
<?php
//我是a1.php
$a1++;
?>
index.php 代码如下:
<?php
ini_set("error_reporting","E_ALL & ~E_NOTICE");
header("Content-type:text/html;charset=UTF-8");
$a1= 1;
include('a1.php');
echo $a1;
?>
引入一次include(上面第5行代码),$a1变为2,修改上面的代码,再加上两次include,变成如下:
如果include改为include_once呢?
include_once就是看前面的代码中(注意:不会朝后看),该文件有没有被include过或include_once过,有,那就不引入过来了,没有,那就引入过来。而include就是,甭管那么多,引过来!
所以,include效率高点!
<?php
ini_set("error_reporting","E_ALL & ~E_NOTICE");
header("Content-type:text/html;charset=UTF-8");
$a1= 1;
echo $a1; //
include('a1.php'); //引过来所以$a1+1
echo $a1; //
include_once('a1.php'); //发现前面执行了include a1.php这个文件,不引入了。所以$a1还是2
echo $a1; //
include('a1.php');//继续引过来,所以$a1+1为3
echo $a1;//
?>
再比如,include_once不是朝后看
<?php
ini_set("error_reporting","E_ALL & ~E_NOTICE");
header("Content-type:text/html;charset=UTF-8");
$a1= 1;
echo $a1; //
include_once('a1.php');
//朝前看,没有include或include_once过a1.php,所以,引过来 $a1变为2
echo $a1; //
include('a1.php');//继续引过来,所以$a1+1为3
echo $a1;//
?>
include和require的区别
php 文件包含 include、include_once、require、require_once的更多相关文章
- include,include_once,require,require_once的区别
1.include() include(/path/to/filename) include()语句将在其被调用的位置处包含一个文件.包含一个文件与在该语句所在位置复制制定文件的数据具有相同内容的效果 ...
- php include include_once require require_once 的区别与联系
一.require 与 include 的区别: The require() function is identical to include(), except that it handles er ...
- php学习笔记6--php中的文件包含 include,require,include_once,require_once
php中的文件包含 include,require,include_once,require_once 文件包含:是指将一个文件的内容包含进另外一个文件,有利于代码的复用等.php中文件包含指令有4个 ...
- 包含文件函数include与require的区别
include或include_once一般用于动态包含,所谓动态包含就是根据不同条件包含不同文件 require或require_once一般用于静态包含,比如包含一个html文件的头部或者尾部 如 ...
- PHP函数include include_once require和require_once的区别
了解下include.include_once.require和require_once这4个函数: include函数:会将指定的文件读入并且执行里面的程序: require函数:会将目标文件的内容 ...
- C语言 预处理一(文件包含--#include)
//预处理命令不需要在结束末尾加":" //#inlude可以包含任意类型的文件 //#inlude 将一个源文件的全部内容包含到另一个源文件中,成为它的一个部分,文件包含的一般格 ...
- CTF 文件包含
目录 一.基本概念 二.本地文件包含 三.远程文件包含 四.具体场景 五.补充 一.基本概念 文件包含 将相同函数写入单独的文件中,需要使用时直接调用 文件包含漏洞 将被包含的文件设置为变量,导致客户 ...
- 13)PHP,文件加载(include和require)
有四种文件加载的语法形式(注意,不是函数): include, include_once, require, require_once; 他们的本质是一样的,都是用于加载/引入/包含/载入一个外部 ...
- WEB安全第二篇--用文件搞定服务器:任意文件上传、文件包含与任意目录文件遍历
零.前言 最近做专心web安全有一段时间了,但是目测后面的活会有些复杂,涉及到更多的中间件.底层安全.漏洞研究与安全建设等越来越复杂的东东,所以在这里想写一个系列关于web安全基础以及一些讨巧的pay ...
随机推荐
- spring cloud java: 无法访问redis.clients.jedis.JedisPoolConfig 找不到redis.clients.jedis.JedisPoolConfig的类文件
spring cloud <spring-cloud.version>Greenwich.SR3</spring-cloud.version> 注入Redis 时候: @Bea ...
- 安装opencv时ippicv下载超时
1.手动去下载: github地址为: https://github.com/opencv/opencv_3rdparty/tree/ippicv/master_20151201/ippicv 2.查 ...
- package.json详解以及package-lock.json的作用
一.创建 package.json输入如下命令之后,会要求填写基本的配置信息,这里,我们选择一路回车即可,待生成 package.json 文件之后,再来配置. npm init 二.配置 packa ...
- [PHP] dompdf 使用记录
# 安装字体,解决中文乱码参考: https://blog.51cto.com/lampzxr/1916038```首先下载composer curl -sS https://getcomposer. ...
- java修改文件所有者及其权限
1.设置所有者 管理文件所有者 Files.getOwner()和Files.setOwner()方法 要使用UserPrincipal来管理文件的所有者 (1)更改文件的所有者 import jav ...
- [IISNode] 如何在IIS7/8下,配置一个可以通过IIS访问NodeJS的web项目
参考了一下几篇很给力的文章,在每篇文章中,都学到了解决遇到的问题的答案: (1)用iisnode模块,让你的Node.js应用跑在Windows系统IIS中 (2)让IIS能够运行Nodejs (3) ...
- Error: Error occured while starting App. Original error: Activity used to start app doesn't exist or cannot be launched! Make sure it exists and is a launchable activity
Error: Error occured while starting App. Original error: Activity used to start app doesn't exist or ...
- 浅谈MVC、MVVM的区别
一.概述 MVC,MVP,MVVM是三种常见的前端架构模式(Architectural Pattern),它通过分离关注点来改进代码组织方式.不同于设计模式(Design Pattern),只是为了解 ...
- status 和 typedef
- docker关系图解析
docker关系图解析 一.docker有5种状态 Dockerfile 文本文件,制作images的配置文件 images image,静态文件 containers container image ...