2011-04-20 102 views
1

嗨,我得到这个错误时,包括在我的网站的缓存脚本..PHP - filemtime功能错误

Warning: filemtime() [function.filemtime]: stat failed for index.php in C:\xampp\htdocs\Content\content\cache.php on line 6

下面是脚本:

<?php 
class datemod{ 
    public $gmtime; 
    function date($files,$dbtable,$url){ 
     foreach($files as $val){ 
      $mod=date('Y/m/d H:i:s',filemtime($val)); 
      $array[]=$mod; 
     } 
     $fmod=max($array); 
     $result=mysql_query("SELECT DATE_FORMAT(pubdate,'%Y/%m/%d %H:%i:%s') AS pubdate FROM $dbtable WHERE url='$url'"); 
     while([email protected]_fetch_array($result,MYSQL_ASSOC)){ 
      $row[]=array('row'=>array_map('htmlspecialchars',$row)); 
      $pubdate=$row['pubdate']; 
     } 
     $maxmod=max($fmod,$pubdate); 
     $this->gmtime=date('D, d M Y H:i:s T',strtotime($maxmod)); 
    } 
    function cache($gmtime){ 
     if(isset($_SERVER['HTTP_IF_MODIFIED_SINCE'])||isset($_SERVER['HTTP_IF_NONE_MATCH'])){ 
      if($_SERVER['HTTP_IF_MODIFIED_SINCE']==$gmtime){ 
       header('Status:304 Not Modified',true,304); 
       exit(); 
      } 
     } 
     header("Last-Modified:$gmtime"); 
    } 
} 
?> 

我似乎无法找到最新怎么了..任何帮助?

+0

我们可以看一下这个函数是如何被调用?一个常见的错误是在文件目录中调用filemtime()。 – Flipper 2011-04-20 00:27:20

回答

2

报警被触发,因为在当前目录中没有文件index.php(可通过检索getcwd()

+0

非常感谢 – Ricki 2011-04-20 13:27:32

1

这意味着传递到filemtime()的文件不存在,或者程序没有权限访问其属性。

也许首先显示或记录$val,看看它是否是预期的。如果一切看起来都很好,那么请检查文件权限,包括路径中的每个目录。

+0

感谢您的快速回复 – Ricki 2011-04-20 13:28:00