php文件包含如何检测,怎样判断一个文件是否已经被包含了

我想这样

if(a.php没有被包含){

include("a.php");

}

回复讨论(解决方案)

比如,有下面一段代码:要分别从config里得到变量值,include写在函数里,第一个函数被调用后,可以正常返回值,但第二个函数,再用include_once就没用了,会报未定义变量 getfile_patn的错误。我不想把include写在最外面,在每个函数里要用变量时用globe来声明,我的想法是,在每个要取出config文件里的变量的函数里,取出想要的变量,函数完结时,就释放资源config文件,这样方便管理代码,每次想用时,直接include就行了。

$pat=aa();

echo $pat,PHP_EOL;

$post=bb();

echo '11',$post,PHP_EOL;

function aa()

{

include_once(dirname(__FILE__).'/config.php');

$patten = $getfile_patn["search"]['patten'];//$getfile_patn是config.php里的变量

return $patten ;

}

function bb()

{

include_once(dirname(__FILE__).'/config.php');

postfix = $getfile_patn["search"]['postfix'];

turn $postfix ;

}

每个被包含的文件里定义个常量,然后判断是否定义常量,据此来判断是否已包含文件。

写个包含类,包含了就存在类属性中,所有操作就可以通过这个类去搞定

include_once("a.php");

已包含就不包含

有人说这个函数效率低,因为他需要检查是否已经包含过了

但是,用 php 写的检查程序能比 c 程序的速度快吗

include_once("a.php");

已包含就不包含

有人说这个函数效率低,因为他需要检查是否已经包含过了

但是,用 php 写的检查程序能比 c 程序的速度快吗

就是因为function aa()中用了include_once,导致function bb中再也不能包含文件,进而不能使用文件中的变量了,这就是要解决的问题

函数里就该

include(dirname(__FILE__).'/config.php');

但 config.php 不能有函数或类定义

如果有则需要用条件语句排除重复定义

像你这样加载一个文件,只从里面取出一个定值,是极差的做法

这种环境变量,要么就声明为全局变量,要么就用单例模式的实例

总是加载文件效率太低了

function aa(){ include_once(dirname(__FILE__).'/config.php'); $patten = $getfile_patn["search"]['patten'];//$getfile_patn是config.php里的变量 return $patten ;}

这种函数倒也不多见....如老徐所说,如果你要取变量,并且需要重复使用的,请使用全局变量, 或者memcache 来处理,才是正确的解决方案.

现在都在用require_once了吧,

get_included_files() ? 返回被 include 和 require 文件名的 array

http://www.php.net/manual/zh/function.get-included-files.php

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值