php仅在存在时包含文件
我正在用php测试一些缓存代码:php仅在存在时包含文件,php,caching,include,warnings,Php,Caching,Include,Warnings,我正在用php测试一些缓存代码: if (is_readable($cachefile) && (time() - $cachetime < filemtime($cachefile))) { include($cachefile); […] if(可读($cachefile)&&(time()-$cachetime)
if (is_readable($cachefile) && (time() - $cachetime
< filemtime($cachefile)))
{
include($cachefile);
[…]
if(可读($cachefile)&&(time()-$cachetime)
它应该做什么:
仅当$cachefile已存在时才运行include。如果不存在,则应继续运行,而不尝试包含$cachefile。它的作用: 它每次尝试加载$cachefile,因此在它不存在时创建一个php警告。
我不知道如何修复它,因为我尝试了通常可以防止include超标的所有方法。有人能帮忙吗?
谢谢!如果(存在文件('file.php')) 包括'file.php';像这样试试
if (isset($cachefile) && ((time() - $cachetime) < filemtime($cachefile)))
{
include($cachefile);
}
if(isset($cachefile)&&((time()-$cachetime)
您可以使用isset
或file\u exists
函数,这里是文档=>
注意:
Wrap time()-$cachetime
in(),还要确保$cachefile
的url是正确的使用isset
函数而不是可读的:可读的
-告诉文件是否存在并且可读-听起来你在其他地方做了一些错误。正如hakre已经写的,肯定还有其他地方出错-你检查了错误的行号了吗?是吗是否确实是发生错误包含的文件和行?是可读的()
很好。您只是建议使用一个功能较少的函数(但可能同样有效,但可能会产生相同的效果)。