当页面中再三重复用到同样的内容时,用include()函数包含文件,这个方法可以简化编码工作。例如,关联相同的数据库;在页面的页眉或页脚显示相同的HTML。类似的应用不胜枚举。那么如何来应用呢?
<html>
<body>
<?php
include ("example.inc");
?>
</body>
</html>
现在来看一下,在“example.inc”文件中,如果加入如下的代码:
<?php
$hello = "Hello World";
echo $hello;
?>
就和把它们全部直接写到前面的代码中一样。唯一要注意的是必须把PHP分隔符(上述代码的首行和末行)也加入被包含的文件中,否则这些代码仅仅在那里显示而不被执行。实际上可以指定任何包含文件的名字,用.inc文件名是为了来把它们和其他PHP脚本中分隔开。也可以用下面方法实现,
<?php
require ("example.inc");
?>
这和上面的include()函数包含有什么区别呢?如果用require()函数包含的文件不存在,那么当运行脚本时程序就停止运行并给出错误信息。如果是用include包含的话,则显示一条警告,仍继续执行脚本。在我们下面的例子中,就是一个可能出现错误例子。用include()函数包含时候出现如下错误提示:
Warning: Failed opening 'hello.inc' for inclusion (include_path='') in /tutorial/9.php on line 6
如果用require()函数包含文件,可能出现以下错误信息:
Fatal error: Failed opening required 'hello.inc' (include_path='') in /tutorial/9.php on line 6
看到里边的细微差别了吗?用require包含文件的话,给出了一个“严重错误;而用include()函数包含文件只给出一个“警告”。
用包含文件唯一的问题是是否在包含文件中保存了密码。既然当连接数据库时,PostgreSQL 不用密码(至少本例中不用),那这个问题就不重要了。在以后的例子中,我们会用一个文件来包含所有信息。
[补充--by Boban]
1). 两者的区别是,require()函数包含进来的内容是作为整个文档的一个组成,而include()函数则不是。在一个正确的PHP程序中,使用require()函数的时候,如果包含进来的文件语法或者其他错误,则整个文档的PHP脚本都不再运行;如果使用include()函数包含的时候,程序只在有语法错误的地方提示错误,而PHP脚本的其他正确的部分继续运行。
2). include()函数可以使用在条件语句、循环控制语句中,例如if(1==1),来判断是否需要包含该文件,而require()函数将忽略这些条件,不管3721统统包含进来。
3). 如果包含文件中定义了变量、函数、类等,最好使用include()函数,并且做一个宏定义,例如if(!define("_EXAMPLE_INC")) define("_EXAMPLE_INC",1);语句防止重复包含而导致错误。
【补充--by 啸笑天】
1)request_once()语句在脚本执行期间包含并运行指定文件。此行为和request()语句类似,唯一的区别是如果该文件中的代码已经被包含了,则不会再次包含。
request_once()应用于在脚本执行旗舰同一个文件有可能被包含超过一次的情况下,想确保他只被包含一次以避免函数重定义,变量重新赋值等问题。
返回值和include()相同。如果文件已被包含,本函数返回TRUE。
2)require()类似于jsp的 < %@ include file=” ”%>指令;include()类似于< jsp:include page=” ” flush=”true”/>行为
感谢:http://sangai.iteye.com/blog/459045
分享到:
相关推荐
include() 、require()语句包含并运行指定文件。这两结构在包含文件上完全一样,唯一的区别是对于错误的处理。require()语句在遇到包含文件不存在,或是出错的时候,就停止即行,并报错。include()则继续即行。
在PHP编程语言中,include、include_once、require以及require_once是四个常用的语句,用于包含并运行指定文件中的PHP代码。虽然这些函数非常实用,但是很多人可能在使用时并不完全清楚它们之间的差异及其适用场景。...
与`include_once`类似,当遇到重复的`require_once`语句时,PHP会检查文件是否已经包含过,如果是,则忽略此次包含。这在需要确保关键文件只加载一次的情况下非常有用,比如类定义文件,因为多次定义类会导致错误。 ...
关于使用include还是include_once(以下,都包含require_once), 这个讨论很长了, 结论也一直有, 就是尽量使用include, 而不是include_once, 以前最多的理由的是, include_once需要查询一遍已加载的文件列表, 确认是否...
相信大家在使用PHP时经常看到include a.php、include_once a.php、require a.php或者require_once a.php类似这样的写法吧? 我们一起来学习和总结一下这几个语句的作用及特点! include 使用方法: include "test...
在PHP编程中,`require()`, `include()`, `require_once()`, 和 `include_once()` 是四个非常重要的语句,它们用于将一个或多个文件的内容插入到当前正在执行的脚本中。这些语句主要用于组织代码,重用代码块,或者...
①作用及用法 可以减少代码的重复 include(_once)(”文件的路径”)与require(_once)(”文件的路径”) ②理解 说白了,就是用包含进来的文件中的内容 代替 include(_once),require(_once)那一行 ③注意 include/...
在PHP编程中,`require()`, `include()`, `require_once()`, 和 `include_once()` 是四个非常重要的文件包含函数,它们允许开发者将代码分割到多个文件中,以提高代码的可维护性和重用性。了解它们之间的异同是编写...
在PHP编程中,`require`、`require_once`、`include`和`include_once`都是用于引入其他PHP文件的关键函数,它们有助于实现代码重用和模块化编程。这些函数之间的主要区别在于它们处理重复导入的方式。 1. `require...
使用这两个函数时,PHP需要维护一个包含文件列表的记录,以确保某个文件即使多次被include_once或require_once调用,也只会被加载执行一次。这个过程涉及到检查已加载文件列表,判断指定的文件是否已经被包含,如果...
在PHP变成中,include()与require()的功能相同,include(include_once) 与 require(require_once)都是把把包含的文件代码读入到指定位置来,但是二者再用法上有区别:(include()是有条件包含函数,而require()...