PHP - filemtime函数错误

时间:2011-04-20 00:22:53

标签: php cache-control 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($row=@mysql_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");
    }
}
?>

我似乎无法找到它的错误..任何帮助?

2 个答案:

答案 0 :(得分:2)

触发警告是因为当前目录中没有文件index.php(可以使用getcwd()检索

答案 1 :(得分:1)

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

可能首先显示或记录$val以查看它是否符合预期。如果一切顺利,那么检查文件权限,包括路径中的每个目录。