`
ttsiangogole
  • 浏览: 73635 次
文章分类
社区版块
存档分类
最新评论

PHP中include和require

阅读更多

    转载自:http://blog.sina.com.cn/s/blog_5d2673da0100cp6o.html

?





<p style="margin-bottom: 5px; line-height: 21px; color: #323e32; font-family: simsun; font-size: 14px; text-align: left; background-color: #dceccc; padding: 0px;"><span style="">require()和include()有许多相似之处,也有些不同。理解它们的不同点非常重要,否则很容易犯错误。</span>

<p style="margin-bottom: 5px; line-height: 21px; color: #323e32; font-family: simsun; font-size: 14px; text-align: left; background-color: #dceccc; padding: 0px;"><span style="">????如果require()语句通过声明文件的URL来包含远程文件,而且远程服务器按照php代码来解释该文件的话,本地php文件中所包含的内容是在远程服务器上处理以后的结果。例如:<br>???<br><br>require("</span><a style="text-decoration: none; color: #599100;" href="http://some_server/file.txt?varfirst=1&amp;varsecond=2"><span style="">http://some_server/file.txt?varfirst=1&amp;varsecond=2</span></a><span style="">");</span>

<p style="margin-bottom: 5px; line-height: 21px; color: #323e32; font-family: simsun; font-size: 14px; text-align: left; background-color: #dceccc; padding: 0px;"><span style=""><br>require("</span><a style="text-decoration: none; color: #599100;" href="http://some_server/file.php?varfirst=1&amp;varsecond=2"><span style="">http://some_server/file.php?varfirst=1&amp;varsecond=2</span></a><span style="">");</span>

<p style="margin-bottom: 5px; line-height: 21px; color: #323e32; font-family: simsun; font-size: 14px; text-align: left; background-color: #dceccc; padding: 0px;"><span style="">2.include()语句<br>????include()语句和require()语句有许多相同的地方。凡是在上边require()语句中没有明确说明不能适用于include() 的部分外,require()语句的功能完全适用于include()语句。下边介绍require()语句所没有的include()语句的功能和特点。<br>????include语句只有在被执行时才会读入要包含的文件。在错误处理方便,使用include语句,如果发生包含错误,程序将跳过include语句,虽然会显示错误信息但是程序还是会继续执行!<br>???php处理器会在每次遇到include()语句时,对它进行重新处理,所以可以根据不同情况的,在条件控制语句和循环语句中使用include()来包含不同的文件。<br>???例如:<br><?php<br>$files=array('first.php','second.php','third.php');<br>???????for($i=0;$i<count($files);$i++)<br>???????{<br>???????include $files[$i];<br>}<br>?><br>???在php3.0和php4.0中include()语句所包含的文件中都可以使用return语句来返回一个值,并停止执行被包含文件下面的内容。但 php3.0和php4.0在处理这样的情况时有所不同。在php3.0中return语句不能包含在{}内,除非它在一个函数中,因为这时它表示函数的返回值而不是文件的返回值。而在php4.0中就没有了这样的限制,用户甚至可以在文件中返回一个数字,就象函数的返回值一样。这样的语句在</span>

<p style="margin-bottom: 5px; line-height: 21px; color: #323e32; font-family: simsun; font-size: 14px; text-align: left; background-color: #dceccc; padding: 0px;"><span style="">假设在main.php文件中包含下面的语句:<br><?php<br>$retval=include('test.inc');<br>echo "File returned:'$retval'<br>\n";<br>?><br>????php3.0解释器会在第二行报告错误,而不能得到include()语句的返回值。但在php4.0中会得到下面的结果:<br>Before the return<br>File returned: '27'<br>下边假设main.php改为:<br><?php<br>include('test.inc');<br>echo "Back in main.html<br>\n";<br>?><br>在php4.0中的输出结果是:<br>Before the return<br>Back in main.html</span>

<p style="margin-bottom: 5px; line-height: 21px; color: #323e32; font-family: simsun; font-size: 14px; text-align: left; background-color: #dceccc; padding: 0px;"><span style="">在php3.0中的输出结果是:<br>Before the return<br>27Back in main.html<br><br>Parse error:parse error in /apache/htdocs/phptest/main.html on line 5</span>

<p style="margin-bottom: 5px; line-height: 21px; color: #323e32; font-family: simsun; font-size: 14px; text-align: left; background-color: #dceccc; padding: 0px;"><span style="">3.require_once()和include_once()语句<br>require_once()和include_once()语句分别对应于require()和include()语句。require_once() 和include_once()语句主要用于需要包含多个文件时,可以有效地避免把同一段代码包含进去而出现函数或变量重复定义的错误。例如:如果创建两个文件util.inc和fool.inc,程序代码分别为:<br>util.inc:<br><?php<br>???define(PHPVERSION,floor(phpversion()));<br>???echo "GLOBALS ARE NICE<br>\n";<br>???function goodTea()<br>???{<br>??????????return "Olong tea tasts good!";<br>???}<br>?><br>和fool.inc:<br><?php<br>???require ("util.inc");<br>???function showVar($var)<br>???{<br>??????????if(PHPVERSION==4)<br>??????????{<br>????????????print_r($var);<br>??????????}<br>??????????else<br>??????????{<br>????????????var_dump($var);<br>??????????}<br>???}<br>?><br>然后在error_require.php中包含这两个文件:<br><?php<br>require("fool.inc");<br>require("util.inc");//此句会产生一个错误<br>$foo=array("1",array("complex","quaternion"));<br>???????echo "this is requiring util.inc again which is also<br>\n";<br>echo "required in fool.inc\n";<br>echo "Running goodTea:".goodTea()."<br>\n";<br>echo "Printing foo:<br>\n";<br>showVar($foo);<br>?><br>????当运行error_require.php时,输出结果如下:<br>????GLOBALS ARE NICE<br>????GLOBALS ARE NICE</span>

<p style="margin-bottom: 5px; line-height: 21px; color: #323e32; font-family: simsun; font-size: 14px; text-align: left; background-color: #dceccc; padding: 0px;"><span style="">include_once()语句的语法和include()语句类似,主要区别也是避免多次包含一个文件而引起函数或变量的重复定义。</span>

<p style="margin-bottom: 5px; line-height: 21px; color: #323e32; font-family: simsun; font-size: 14px; text-align: left; background-color: #dceccc; padding: 0px;"><span style="">和require_once语句一样,include_once语句把include的功能扩展了。在程序执行期间,将指定的文件包含进来,如果从文件引用进来的程序先前已经包含过的时候,include_once()就不会把它再包含进来。也就是仅仅可以引用同一个文件一次!</span>

<p style="margin-bottom: 5px; line-height: 21px; color: #323e32; font-family: simsun; font-size: 14px; text-align: left; background-color: #dceccc; padding: 0px;"><span style="">include_once() 应该用于在脚本执行期间同一个文件有可能被包含超过一次的情况下,想确保它只被包含一次以避免函数重定义,变量重新赋值等问题。</span>

<p style="margin-bottom: 5px; line-height: 21px; color: #323e32; font-family: simsun; font-size: 14px; text-align: left; background-color: #dceccc; padding: 0px;"><span style="">返回值和 include() 相同。如果文件已被包含,本函数返回 TRUE。</span>

<p style="margin-bottom: 5px; line-height: 21px; color: #323e32; font-family: simsun; font-size: 14px; text-align: left; background-color: #dceccc; padding: 0px;"><span style="">注: 要注意 include_once() 和 require_once() 在大小写不敏感的操作系统中(例如 Windows)的行为</span>

<p style="margin-bottom: 5px; line-height: 21px; color: #323e32; font-family: simsun; font-size: 14px; text-align: left; background-color: #dceccc; padding: 0px;"><span style=""><?php<br>include_once("a.php"); // this will include a.php<br>include_once("A.php"); // this will include a.php again on Windows! (PHP 4 only)<br>?></span>

<p style="margin-bottom: 5px; line-height: 21px; color: #323e32; font-family: simsun; font-size: 14px; text-align: left; background-color: #dceccc; padding: 0px;"><span style="">如果要包含的文件不存在,include提示notice,然后继续执行下面的语句,require提示致命错误并且退出。</span>

<p style="margin-bottom: 5px; line-height: 21px; color: #323e32; font-family: simsun; font-size: 14px; text-align: left; background-color: #dceccc; padding: 0px;"><span style="">  如果一个文件不想被包含多次可以使用include_once或require_once## 读取,可以写入文档数据。<br><?php<br>function r($file_name) {<br> </span><a style="text-decoration: none; color: #599100;" href="mailto:%24filenum=@fopen(%24file_name,%22r"><span style="">$filenum=@fopen($file_name,"r</span></a><span style="">");<br> @flock($filenum,LOCK_SH);<br> </span><a style="text-decoration: none; color: #599100;" href="mailto:%24file_data=@fread(%24filenum,filesize(%24file_name"><span style="">$file_data=@fread($filenum,filesize($file_name</span></a><span style="">));<br> @fclose($filenum);<br> return $file_data;<br>}<br>function w($file_name,$data,$method="w"){<br> </span><a style="text-decoration: none; color: #599100;" href="mailto:%24filenum=@fopen(%24file_name,%24method"><span style="">$filenum=@fopen($file_name,$method</span></a><span style="">);<br> flock($filenum,LOCK_EX);<br> $file_data=fwrite($filenum,$data);<br> fclose($filenum);<br> return $file_data;<br>}<br>?></span>


<p style="margin-bottom: 5px; line-height: 21px; color: #323e32; font-family: simsun; font-size: 14px; text-align: left; background-color: #dceccc; padding: 0px;">很详细留下有需要的话再来看.
 
0
0
分享到:
评论

相关推荐

    PHP中include和require的区别实例分析

    在PHP编程语言中,include和require两个函数都是用于将一个文件包含到当前文件中,并且执行该文件中的代码。尽管它们的用途相同,但这两个函数在处理包含文件失败时的表现有着根本的区别。在实际开发过程中,了解这...

    include和require的区别

    在PHP编程语言中,`include`和`require`都是用于导入其他PHP文件的函数,以在当前脚本中使用它们的代码、变量和函数。它们的主要目的是为了代码重用和组织,但它们之间存在一些关键差异,这些差异主要体现在错误处理...

    PHP中include与require使用方法区别详解

    在PHP变成中,include()与require()的功能相同,include(include_once) 与 require(require_once)都是把把包含的文件代码读入到指定位置来,但是二者再用法上有区别:(include()是有条件包含函数,而require()...

    php include和require的区别深入解析

    nclude()The include() 语句包括并运行指定文件。以下文档也适用于require()。这两种结构除了在如何处理失败之外完全一样。include() 产生一个警告而require() 则导致一个致命... 基本的 include() 例子vars.php复制

    PHP中include/require/include_once/require_once使用心得

    相信大家在使用PHP时经常看到include a.php、include_once a.php、require a.php或者require_once a.php类似这样的写法吧? 我们一起来学习和总结一下这几个语句的作用及特点! include 使用方法: include "test...

    PHp面试荟萃

    PHP中include和require语句用于包含并运行指定文件的代码,区别在于include在包含文件不存在时会产生警告,而require会产生致命错误。为了避免多次包含同一文件,可以使用include_once或require_once语句。 SESSION...

    php使用include 和require引入文件的区别

    针对这个问题,我把include和require的详细用法进行归纳。(结合查阅资料和自己的理解,整合出来的)希望能给有需要的小伙伴一点帮助。 引入文件: 首先需要一个php文件: &lt;?php class shao//类名必须和文件名...

    php include,include_once,require,require_once

    现在来说include和require的区别: require()函数包含进来的内容被当成当前文件的一个组成部分,所以当包含进来的文件有语法错误或者文件不存在的时候,那当前文件的PHP脚本都不再执行. include()函数相当于指定这个...

    php 中include()与require()的对比

    php的require()与include(),在性能方面并无大的不同。 仅有的一些不同在于: include()执行时文件每次都要进行读取和评估; require()执行时文件只处理一次(实际上,文件内容替换了require()语句)。 即如果有包含...

    PHP中require和include路径问题详解

    在PHP编程中,`require`和`include`都是用于在脚本中引入其他文件的关键字,它们的作用相似,但略有不同。主要的区别在于处理错误的方式:`require`会在找不到文件时抛出致命错误并停止脚本执行,而`include`只会...

    PHP常用函数及方法详解: date()函数、include:require 语句.md

    通过以上的介绍,我们对PHP中的`date()`函数以及`include`和`require`语句有了更深入的理解。这些知识点对于进行PHP开发非常重要,掌握它们可以帮助开发者更好地处理日期时间相关的逻辑以及有效地组织代码结构。

    PHP包含文件函数include、include_once、require、require_once区别总结

    include() 、require()语句包含并运行指定文件。这两结构在包含文件上完全一样,唯一的区别是对于错误的处理。require()语句在遇到包含文件不存在,或是出错的时候,就停止即行,并报错。include()则继续即行。

    简单谈谈PHP中的include、include_once、require以及require_once语句

    在PHP编程语言中,`include`、`include_once`、`require`以及`require_once`是四个非常重要的语句,它们用于将一个或多个文件的内容插入到当前正在执行的脚本中。这些语句主要用于组织代码,重用功能或者引入配置...

    php-include-html:在Gulp中扫描PHP文件,并处理include和require语句以内联HTML代码段

    描述在Gulp中扫描PHP文件,并处理include和require语句以内联HTML代码段。 以下全部已处理... 包括要求include_once require_once地位要求 -v3.9.1或更高版本安装npm install php-include-html --save-dev例子...

Global site tag (gtag.js) - Google Analytics