require_once?require与require_once有什么区别
大家好,今天小编来为大家解答以下的问题,关于require_once,require与require_once有什么区别这个很多人还不知道,现在让我们一起来看看吧!
require与require_once有什么区别
include()
和require()
:语句包括并运行指定文件。
include()
产生一个警告而
require()
则导致一个致命错误。换句话说,如果你想在遇到丢失文件时停止处理页面就用
require()。include()
就不是这样,脚本会继续运行。
require_once()
语句在脚本执行期间包括并运行指定文件。此行为和
require()
语句类似,唯一区别是如果该文件中的代码已经被包括了,则不会再次包括。
include_once()
语句在脚本执行期间包括并运行指定文件。此行为和
include()
语句类似,唯一区别是如果该文件中的代码已经被包括了,则不会再次包括。如同此语句名字暗示的那样,只会包括一次。
1.include()
函数会将指定的档案读入并且执行里面的程序。
例如:include('/home/me/myfile');
被导入的档案中的程序代码都会被执行,而且这些程序在执行的时候会拥有和源文件中呼叫到
include()
函数的位置相同的变量范围(variable
scope)。你可以导入同一个服务器中的静态档案,甚至可以通过合并使用
include()
与
fopen()
函数来导入其它服务器上面的档案。
2.include_once()函数的作用和
include()
是几乎相同的
唯一的差别在于
include_once()
函数会先检查要导入的档案是不是已经在该程序中的其它地方被导入过了,如果有的话就不会再次重复导入该档案(这项功能有时候是很重要的,比方说要导入的档案里面宣告了一些你自行定义好的函数,那么如果在同一个程序重复导入这个档案,在第二次导入的时候便会发生错误讯息,因为
PHP
不允许相同名称的函数被重复宣告第二次)。
3.require()函数会将目标档案的内容读入,并且把自己本身代换成这些读入的内容。
这个读入并且代换的动作是在
PHP
引擎编译你的程序代码的时候发生的,而不是发生在
PHP
引擎开始执行编译好的程序代码的时候(PHP
3.0
引擎的工作方式是编译一行执行一行,但是到了
PHP
4.0
就有所改变了,PHP
4.0
是先把整个程序代码全部编译完成后,再将这些编译好的程序代码一次执行完毕,在编译的过程中不会执行任何程序代码)。require()
通常来导入静态的内容,而
include()
则适合用来导入动态的程序代码。
4.如同
include_once()函数,require_once()
函数会先检查目标档案的内容是不是在之前就已经导入过了,如果是的话,便不会再次重复导入同样的内容。
PHP require_once()
1、在php中include和require内的内容是否运行,要看你在所包含的文件里面的代码。如果你包含的是函数,那么当然要等到你调用才会运行,如果你包含的是语句,那么相当于是把这段语句加入到当前的位置
2、include和require的区别是,一个会出现应用级别的报警,include文件不存在,不会引起报错(但是有报警),而require会引起报错,你试一下引用不存在的文件就知道了
3、增加once,那么就是说只包含一次,如果该文件已经被包含了,那么就不会再次包含,你可以设计一个包含文件,直接让其echo数据,然后运行看看,比如
<?php
echo$f
?>
这是一个文件
然后你再另外一个页面使用:
<?php
$f=1
include("xxx.php")
$f=2
include("xxx.php")
?>
来看
自己动动手
php里的require_once是什么意思
require(),include(),require_once()和include_once()的异同参考资料: http://hi.baidu.com/lysoncn/blog/item/f2c21d2da4b10a30359bf75f.htmlrequire()和include()有许多相似之处,也有些不同。理解它们的不同点非常重要,否则很容易犯错误。我把这两个语句放在一起介绍,读者可以比较学习。1.require()语句 require()语句用于指定的文件代替语句本身,就象C语言中的include()语句一样。如果php配置文件php.ini中的URL fopen wrappers是打开的(默认情况下是打开的),就可以使用URL来指定文件的位置从而实现远程文件的调用。有一点就是使用require()和include()语句时要特别的注意。那就是在被包含的文件中,处理器是按照html模式来解释其中的内容的,处理完被包含的内容后又恢复到php模式。所以如果需要在被包含文件中使用php语法,就要使用正确的php开始和结束标记来把这些语句包含进去。 require()和include()知识php中的一种语言特性,而不是函数。它们和函数有许多不同的地方。比如:require()所包含的文件中不能包含控制结构,而且不能使用return这样的语句。在require()所包含的文件中使用return语句会产生处理错误。不象include()语句,require()语句会无条件地读取它所包含的文件的内容,而不管这些语句是否执行。所以如果你想按照不同的条件包含不同的文件,就必须使用include()语句。当然,如果require()所在位置的语句不被执行,require()所包含的文件中的语句也不会被执行。 require()不能在循环体中根据条件的不同而包含不同的文件。require()语句只会在第一次执行时调用它所包含的文件中的内容替换本身这条语句,当再次被执行时只能执行第一次所包含的语句。但是include()语句可以在循环体中来包含不同的文件。 require()语句中的变量继承require()语句所在位置的变量作用域。所有在require()语句的位置可以访问的变量,在require()语句所包含的文件中都可以访问。如果require()语句位于一个函数内部,那么被包含文件内的语句都相当于定义在函数内部。 require()语句在PHP程序执行前就会将使用require引用的文件读入,因此require通常放到程序的开始处。因此要特别注意一点,require语句有一点强,不管程序是否真的需要引用的文件,只要你使用require语句,它都会把他们包含进来!即使你是在条件控制语句中使用这个函数进行包含,那怕是那个条件不为真,引用文件也会被包含进来!形成了僵尸,在运行过程中这些僵尸是不起任何可见作用的,但是很明显它会加重负担,所以这一点要特别注意!如果使用require语句发生了包含错误,那么程序将输出出错信息并停止运行!!
require与require_once有什么区别PHP
1.当程序中代码多次使用require或者require_once调用某一文件,程序编译时require_once()只调用(加载)该文件一次,而require则在每一处出现调用的地方都重新调用(加载文件)。
2.至于报错问题,两者是一致的都会报warning但程序继续执行下去,想不显示错误可以设置PHP的报错级别,error_reporting(0)。
3.与此函数相似的有include和include_once,当遇到错误时会报错且程序终止。
感谢您花时间阅读本文!我们希望通过对require_once和require与require_once有什么区别的问题进行探讨,为您提供了一些有用的见解和解决方案。如果您需要更多帮助或者有其他疑问,请不要犹豫与我们联系。