编程之路之php文件包含详解【文末有福利】

一、php文件包含,include,require

Include和require都是用于进行文件 的包含,只是遇到错误的时候处理的方式不一样。

可以被包含的文件是什么类型的?

只要是文本类型的文件,原则上都可以被包含。.php  .html  .inc  .txt。只要是文本的,且符合html或php语法的,都可以。

包含文件名

可以是带绝对路径的文件 名

也可以是带相对路径的文件 名

还可以直接是一个文件 名

绝对路径包含位置确定,但是名字较长

相对路径比较简单,但是和脚本文件的执行和存放目录有关。

提示:在浏览器方式下,只需要考虑访问文件存放位置

         而在命令行下,就有执行位置的相对目录的问题了

 

结论:包含文件都应该使用绝对路径方式标明其位置

使用定义的根路径常量后的写法

 

另外一个查对的方式

Include  ‘b.php’;

前面的绝对或相对路径写法,都能够确定包含文件的位置

这种写法会相对于执行或当前脚本文件的路径去找包含文件 。但是它在设置了include_path参数后,会先去include_path优先去找!

查找顺序:

  1. 先去include_path
  2. 去执行目录中找
  3. 才对脚本文件存放的目录中找

 

有部分网站,会把一些有用的公共文件统一 放到一个include_path中,然后你可以直接包含,不用写路径!

从效率上讲,应该直接使用绝对路径的方式。相对 的方式效率会比较差。

 

二、Inlcude和require的区别

它们同样都是包含,语法上没有区别。但是在包含文件找不到时

Include会报一个警告错误,继续执行程序

Reqiure会报一个严重错误,程序终止

结论:

如果包含文件 是很重要的内容,应该使用require

如果是一个不太重要的包含文件 ,可以使用include

 

三、Include和include_once

Include_once同样是包含文件的功能,和include处理错误的方式也是一样的。

但是多了一个判断文件是否已经 被包含过的功能。

用途:可以避免重复包含

 

总结:

带once功能强一些,可以避免重复包含,但是效率会低。

建议,自己来处理重复的问题,尽量直接使用include

Require和require_once与上面的类似,只是处理错误的方式是报错停止程序。

 

四、Return在文件包含中的使用

如果在包含文件中,代码执行到return,将会从包含文件中返回,它下面的代码不会再被执行。

 

Return和exit的区别

Return 只是从包含文件返回,会继续在主文件中向下执行代码

Exit虽然是在包含文件中,但是如果执行到exit将会终止所有文件代码的执行

使用return从包含文件返回数据

 

五、包含文件时的HTML模式和PHP模式

表面上看,包含文件时,就是把被包含文件的内容引入到主文件

但实际上,即使两个文件都是PHP文件,也会在主文件执行到include时

  1. 退出PHP模式,进入了HTML模式
  2. 打开包含文件,逐句执行,如果发现<?php标记,就会退出HTML模式,进入PHP模式

直到发现?>结束标记,会又退出PHP模式,进入HTML模式

  1. 如果被包含文件只有开始标记,没有结束标记,会在文件末尾退出PHP模式,进入HTML模式
  2. 返回到主文件后,会退出HTML模式,重新返回到PHP模式

六、路径分隔符和目录分隔符

介绍两个预定义常量

PATH_SEPARATOR      用于分隔路径字符串

DIRECTORY_SEPARATOR  用于分隔目录

由于windows和linux下它的路径字符串分隔符不一样

Windows使用;

Linux使用:

如我们设置include_path时,通常这么写

目录分隔符

我是小咖,一个正在前往大神之路的小咖。

发个邀请:
如果你正好想学习php,可以与我一起交流,我的VX:feilueze333。下面资料免费赠送。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值