Chinaunix首页 | 论坛 | 博客
  • 博客访问: 26278451
  • 博文数量: 2065
  • 博客积分: 10377
  • 博客等级: 上将
  • 技术积分: 21525
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-04 17:50
文章分类

全部博文(2065)

文章存档

2012年(2)

2011年(19)

2010年(1160)

2009年(969)

2008年(153)

分类:

2009-07-18 23:52:09

当页面中再三重复用到同样的内容时,用include()函数包含文件,这个方法可以简化编码工作。例如,关联相同的数据库;在页面的页眉或页脚显示相同的HTML。类似的应用不胜枚举。那么如何来应用呢?

include ("example.inc");

?>

现在来看一下,在“example.inc”文件中,如果加入如下的代码:

$hello = "Hello World";

echo $hello;

?>

就和把它们全部直接写到前面的代码中一样。唯一要注意的是必须把PHP分隔符(上述代码的首行和末行)也加入被包含的文件中,否则这些代码仅仅在那 里显示而不被执行。实际上可以指定任何包含文件的名字,用.inc文件名是为了来把它们和其他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);语句防止重复包含而导致错误。


阅读(682) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~