0

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

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

它应该做什么: 仅当 $cachefile 已经存在时才运行包含。如果不是,它应该在不尝试包含 $cachefile 的情况下继续进行。

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

我不知道如何解决它,因为我尝试了几乎所有通常会阻止包含被执行的东西。有人可以帮忙吗?
谢谢!

4

2 回答 2

0

像这样试试

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

你可以使用issetorfile_exists函数,这里是文档 =>

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

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

注意Wrap time() - $cachetime在 () 中,还要确保$cachefileurl 是正确的

于 2013-01-06T12:14:42.807 回答
0

if(file_exists('file.php')) 包括'file.php';

于 2013-01-06T12:08:04.090 回答