phprequireonce,php require once
php require_once过多是否会导致php性能太差,求各位大大帮助
require_once指的是php内部的变量和函数只会用一次;
require_once需要比较php文件是否被包含过了,使用过多_once肯定会降低效率。
建议把所有公用的函数放到一起,直接用require()函数
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和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是什么意思
require_once() 为了避免重复加载文件。
意为:加载文件一次
require_once() 语句在脚本执行期间包括并运行指定文件。此行为和 require() 语句类似,唯一区别是如果该文件中的代码已经被包括了,则不会再次包括。
php语言:require_once(dirname(__FILE__)."/./config_uc.php");讲解
require_once(dirname(__FILE__)."/./config_uc.php");
一、__FILE__
php定义的为当前文件路径及文件名的常量,如:
d:/wwwroot/dedecms/index.php
二、dirname(__FILE__)
为函数,取得文件路径的目录名;
echo
dirname("d:/wwwroot/dedecms/index.php")结果为:d:/wwwroot/dedecms
三、require_once(dirname(__FILE__)."/./config_uc.php");
假设当前文件为d:/wwwroot/dedecms/index.php结果为
require_once("d:/wwwroot/dedecms/config_uc.php");
另外/./config_uc.php
中./为当前目录
require_once(str_replace('/tieba','',dirname(__FILE__))."/./config_uc.php");
php.ini中require_once()无法执行
通过报错信息我们能够看到('failed to open stream','Failed opening required'),这是被包含的文件无法打开。造成这种错误原因有两个。
1、在source_index.php这个文件同级目录下面没有function.php这个文件。
2、或者是require_once(data/function.php);这条语句写错了,造成无法定位到正确的目录。我在下面再给你介绍一下目录定位的一些知识。
2.1、require_once("data/function.php");
意思是:调用source_index.php所处目录下的data目录下面的function.php文件。
2.2、require_once("/data/function.php");
意思是:调用source_index.php所在目录根目录下面的data目录下面的function.php文件。
2.3、require_once("../data/function.php");
意思是:调用source_index.php上一级目录下面的data目录下面的function.php文件。
2.4、require_once("./data/function.php");
意思是:调用source_index.php当前目录下的data目录下面的function.php文件,与require_once("data/function.php");该条语句的作用是一样的。
希望上面的知识能帮你解决这个问题。