include和require的区别--疯子哥德
    哥德疯了
   用户中心 您的位置:笔架山信息平台>> 笔客秀>> 疯子哥德>> include和require的区别--疯子哥德
日历
<< << 2008 十一月 >> >>
1
2345678
9101112131415
16171819202122
23242526272829
30
个人资料
游客已登陆 (0)未知
笔行证 888888
昵称 hacder 
笔贝 Score1
加为好友 发送短信
栏目分类
最新日志
最新评论
统计信息
  • 访问计数:1584660
    本文:201 今天:1 本月 201
  • 加为好友 发送短信

  include和require的区别
2007-08-17 晴


刚刚在phpchina上面看到有人在讨论这样一个问题:
PHP代码:


<?php

 
if(1==2){

  include  
"2.php";

 }

?>




PHP代码:


<?php

 
if(1==2){

  require  
"2.php";

 }

?>


有人说很变态,但是想了想 应该还不是.这个应该主要是考include和require的区别

正如有人回帖说到的:
两个的区别是include "2.php",因为条件不为真,所以2.php没有被包含进来!
而 require 是不管条件是否为真,2.php都会被包含进来,不知理解的对不!


网上找了下资料,相关的如下:

这两种结构除了在如何处理失败之外完全一样。include() 产生一个警告而 require() 则导致一个致命错误。换句话说,如果你想在遇到丢失文件时停止处理页面就用 require()。include() 就不是这样,脚本会继续运行

include 包括 没有也可以

require 需要 一定要有

include 出错时返回一个错误但继续执行

require 出错时产生一个致命错误,结束运行



---------------------------------------------------------------------------------

require() :如果文件不存在,会报出一个fatal error.脚本停止执行
include() : 如果文件不存在,会给出一个 warning,但脚本会继续执行

这里特别要注意的是:
使用include()文件不存在时,脚本继续执行,这种情况只出现在PHP 4.3.5之前,这一点,往往被人忽视。

推荐使用require_once()和include_once(),可以检测文件是否有重复包含。

--------------------------------------------------------------------------------------

还有一个区别,这样来描述:
只要有require,总会包含指定的文件;
如果程序没有执行到include,指定的文件不会被包含,比如if条件不成立,在if语句里用include

(以下是这一区别的详细介绍)

注: 在 PHP 4.0.2 之前适用以下规则:require() 总是会尝试读取目标文件,即使它所在的行根本就不会执行。条件语句不会影响 require()。不过如果 require() 所在的行没有执行,则目标文件中的代码也不会执行。同样,循环结构也不影响 require() 的行为。尽管目标文件中包含的代码仍然是循环的主体,但 require() 本身只会运行一次。

PHP代码:


<?php  

if(FALSE){  

   require(
'a.php');  

}  

if(
FALSE){  

   include(
'b.php');  

}  

?>  


a.php 一定会被包含,而 b.php 一定不会被包含。


二种方式提供不同的使用弹性。
require 的使用方法如 require("MyRequireFile.php"); 。这个函式通常放在 PHP 程式的最前面,PHP 程式在执行前,就会先读入 require 所指定引入的档案,使它变成 PHP 程式网页的一部份。常用的函式,亦可以这个方法将它引入网页中。
include 使用方法如 include("MyIncludeFile.php"); 。这个函式一般是放在流程控制的处理区段中。PHP 程式网页在读到 include 的档案时,才将它读进来。这种方式,可以把程式执行时的流程简单化。

require_once的作用是会检查之前是否加载过该文件
如果没有加载则加载 如果加载过就不再次加载
比如某文件定义了一个类型 如果两次加载该文件会出现错误
.
# posted by hacder @ 2007-08-17 02:20:06 评论(0)




地址:




 
笔 名:
*
评 论:
最多1000字。当前字数:0
*
联系方式:

             

 
copyriht© beaplat.com All Rights Reserved 笔架山信息平台
Powered by 笔架山信息平台技术研发小组 henry
本站版权归笔架山信息平台所有,未经书面授权禁止使用