一、介绍
- 在实际开发中,经常会在一个PHP文件中引入其他的文件,被引入的文件可以是HTML文档,也可以是PHP文件
二、语法
- require(文件名)和require_once(文件名)
- include(文件名)和include_once(文件名)
- 注意 : 如果引入的是函数,需要先引入再调用
- 引入文件时,主要有两种使用目的
①当前文PHP文件中有数据,想在被引用的文件(一般是HTML文档)中显示
②当前的PHP文件想使用另外一个文件(一般是PHP文件)中的功能性代码
三、引入路径的问题
- 在实际项目中,对于HTML文件,不允许用户直接请求,而是通过指向一个PHP文件,让PHP文件来引用这个HTML文件
- 当一个PHP文件引入一个HTML文档时,HTML文件本身也会引入一些其他的文件,比如图片文件、css文件、js文件等,这时会发生路径更改的问题,路径要以当前的PHP文件所在的位置,解决办法有两个,一个是修改相对路径,一个是改成域名路径
- include语句本身可以使用绝对路径,但是引入的HTML文件中,如图片文件、css文件、js文件,是不能使用绝对路径的
四、include与require的区别
- include在引入文件时,如果被引入文件不存在则会报错,但是程序还会继续向下执行,require不会继续向下执行,会被中断
- require一般用于引入PHP文件,因为PHP文件里面一般书写的是功能性代码,include一般用于引入HTML文档
- include_once和require_once每次在引入文件时,都会检查所要引入的文件之前有没有被引入,require和include没有这样的检查功能
- 由于类似于定义常量定义函数这种操作不能执行多次,所以require_once更加合适载入这种文件
五、__FILE__和__DIR__
-
__FILE__用于获取文件所在的完整文件名,__DIR__用于获取文件所在的路径
- __FILE__和__DIR__并不会被引入后更改,永远是所在的文件名与文件夹名