php包含文件仅在存在时

时间:2013-01-06 12:05:33

标签: php caching include warnings

我在php中测试了一些缓存代码:

   if (is_readable($cachefile) && (time() - $cachetime
     < filemtime($cachefile))) 
  {
            include($cachefile);
   […]

它应该做什么: 仅当$ cachefile已存在时才运行include。如果没有,它应该继续而不试图包括$ cachefile。

它的作用: 它每次都尝试加载$ cachefile,因此当它不存在时会创建一个php警告。

我不知道如何修复它,因为我尝试了通常会阻止包括被驱逐的所有内容。有人可以帮忙吗? 谢谢!

2 个答案:

答案 0 :(得分:0)

如果(file_exists( 'file.php'))     包括'file.php';

答案 1 :(得分:0)

试试这个

if (isset($cachefile) && ((time() - $cachetime) < filemtime($cachefile))) 
{
    include($cachefile);
}

您可以使用issetfile_exists个函数,这里是documentations =&gt;

http://php.net/manual/en/function.file-exists.php

http://php.net/manual/en/function.isset.php

注意Wrap time() - $cachetime在()中,同时确保$cachefile的网址是正确的