php 学习之 文件加载 include require

文件加载

综述:
有4个文件加载的语法形式(注意,不是函数):
include, include_once, require, require_once;
他们的本质是一样的,都是用于加载/引入/包含/载入一个外部文件到当前php代码中来。
他们只在2个方面有细微区别:
1,如果加载文件失败,则有不同的处理规则;include和require不同
2,如果加载文件重复,则有不同的处理规则;XXX和XXX_once不同;
3,他们都是语法结构,而非函数,使用形式可以有两种:
3.1 include ‘文件路径’;
3.2 include (‘文件路径’);

1, 相对路径:
就是以“./”, 或“../”,开头的路径。
./ 表示当前网页文件的所在位置(文件夹,目录);
../ 表示当前网页文件的所在位置的上一级位置(文件夹,目录)
这种相对位置对一个网站中的所有内容(包括php,html,图片,css,js文件)都有效。
2,绝对路径:
有2种绝对路径:
本地绝对路径:
window系统: c:/d1/d2/page3.php
unix系列系统: /d1/d2/page3.php
网络绝对路径: http://www.abc.com/d1/d2/page4.php

3,只有文件名(无路径)
在php的include语法(其他3个也一样)中,如果只给出文件名,而没有给出路径,则此时有其内部找到该文件的规则,如下:
1,首先在系统设置的include目录中查找:
在php.ini配置文件中,有:include_path设定:

这里写图片描述
可见默认无设定;
该设定其实可以设定多个目录,其间用分号分开;系统会按顺序依次找要载入的文件。

我们也可以在脚本中设定:
这里写图片描述

我们也可以使用另一个函数来获取当前的include_path的值:

这里写图片描述
2,上面没找到,在当前执行的网页文件所在目录(所谓当前工作目录)查找:
所谓当前网页文件,就是地址栏中显示的那个文件名。
3,上面还没找到,则在当前include命令所在文件的所在目录中查找:
如果一个文件(A)包含文件B,在文件B中又有include命令包含文件C,
此时B中的路径问题就可能发生这种情况。

文件载入执行过程

• 从include语句处退出php脚本模式(进入html代码模式)
• 载入include语句所设定的文件中的代码,并执行之(如同在当前文件中一样)
• 退出html模式重新进入php脚本模式,继续之后的代码

举例:
4include_yuanli.php中:
这里写图片描述

page3.php中:

这里写图片描述

4include_yuanli.php中的代码,相当于:

这里写图片描述

几个区别:
• include_once 和include的区别:前者能够保证不会被重复加载
• require 和 include的区别:
o 如果被包含文件不,存在,即引用失败(出错)时,include发出警告并继续执行后续代码,require直接终止

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值