![PHP 从入门到项目实践(超值版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/705/27111705/b_27111705.jpg)
4.4 文件包含
![](https://epubservercos.yuewen.com/B097BE/15477656605638806/epubprivate/OEBPS/Images/Figure-T277_76.jpg?sign=1738863052-bhT9wZvR2seEs36MKN6lBIDLkw7n5kvo-0-2658684acb709461be4b536220086fc9)
在PHP中可能很多地方需要用到文件包含,文件包含是指将经常用到的部分代码分离出来,放在单独的一个文件中,在需要的页面中引入该文件。本节将介绍PHP中包含文件的4种语句,即include、require、include_once和require_once语句。
4.4.1 使用include和require包含文件
include与require功能类似,都是包含并运行指定文件。
【例4-13】(实例文件:ch04\Chap4.13.php)include和require包含文件实例。
![](https://epubservercos.yuewen.com/B097BE/15477656605638806/epubprivate/OEBPS/Images/Figure-P93_73928.jpg?sign=1738863052-n9Y6xTehKyKvE7pI2nDmJzm1wlH8Y59g-0-12bf898cb4e279a4daf2e5317ccdf4ed)
a.php文件中的内容如下:
![](https://epubservercos.yuewen.com/B097BE/15477656605638806/epubprivate/OEBPS/Images/Figure-P93_73929.jpg?sign=1738863052-sjsoAtzGq2ucYGKhp2bn6QiUCVoSe7gF-0-5ae007d75b5f42cdec6a685960df33e1)
在IE浏览器中运行结果如图4-22所示。
![](https://epubservercos.yuewen.com/B097BE/15477656605638806/epubprivate/OEBPS/Images/Figure-P93_12621.jpg?sign=1738863052-wHrH0pUC892Ee31VyuWBzfjYQuCdSmo0-0-6025e5d69b07b86458e3e8828415a8e7)
图4-22 include和require包含文件结果
注释:在例4-13中,分别使用include和require包含a.php文件,然后输出a.php文件中的变量$str1和$str2。
include与require虽然有类似的功能,但是有以下两点区别:
(1)使用include语句来包含文件时,如果包含的文件没有找到,include语句会输出警告,不会终止脚本的运行,而require语句则会输出致命错误,并且立即终止脚本的运行。
(2)require语句通常放在PHP脚本程序的最前面,include语句一般放在流程控制的处理区段中,PHP脚本文件读到include语句时,才将它包含的文件读进来。
【例4-14】(实例文件:ch04\Chap4.14.php)include和require不同之处实例。
![](https://epubservercos.yuewen.com/B097BE/15477656605638806/epubprivate/OEBPS/Images/Figure-P93_73930.jpg?sign=1738863052-4ENbwRniIsOnZKHl79l3uBIcCXdYlyOC-0-8d2c97ecb191ff0739d61ad9e65a1e7a)
在IE浏览器中运行结果如图4-23所示。
![](https://epubservercos.yuewen.com/B097BE/15477656605638806/epubprivate/OEBPS/Images/Figure-P94_12697.jpg?sign=1738863052-Dkbf7OWOdWdAwPQSSM6E689HBb5SVngy-0-452f9a9bf69002b2a6b0bfd7ba6bf9c2)
图4-23 include和require不同之处运行结果
从例4-14的结果可以看到,include包含不存在的文件时,是不会终止脚本运行的,而require会终止脚本运行。
4.4.2 使用include_once和require_once包含文件
include_once和require_once语句也是在脚本执行期间包含并运行指定文件,与include和require语句基本一样,唯一的区别是如果文件中已经包含了某个文件,include_once和require_once语句则不会再次包含该文件。所以,为了避免多次包含同一文件,可以用include_once语句或者require_once代替include和require语句。
【例4-15】(实例文件:ch04\Chap4.15.php)include_once和require_once语句实例。
![](https://epubservercos.yuewen.com/B097BE/15477656605638806/epubprivate/OEBPS/Images/Figure-P94_73932.jpg?sign=1738863052-VTTG1qSy8pavDbl12uHio6b3VtqBhM0h-0-9c5a960f69b93076a919af3bbf40ad5d)
c.php文件中的内容如下:
![](https://epubservercos.yuewen.com/B097BE/15477656605638806/epubprivate/OEBPS/Images/Figure-P94_73933.jpg?sign=1738863052-VMkHKl37Rd2nwuhjgt0aKW4RodMeRPzw-0-7a8b5fe88c564e0559e6fbc1e4debb9d)
在IE浏览器中运行结果如图4-24所示。
注释:在例4-15中,首先使用include包含c.php文件两次,都在相应的位置输出了内容,然后使用include_once来包含c.php文件,由于已经包含了c.php文件,include_once不会重复包含c.php文件,所以不会输出内容。
![](https://epubservercos.yuewen.com/B097BE/15477656605638806/epubprivate/OEBPS/Images/Figure-P95_12780.jpg?sign=1738863052-y1bose7kofwVBhjGEshUNVAmAzCb5Loh-0-bdcd5f4ae8764390e57f376612baeec5)
图4-24 include_once和require_once语句运行结果