【问题标题】:PHP - filemtime function errorPHP - 文件时间函数错误
【发布时间】:2011-08-09 02:49:55
【问题描述】:

您好,当我的网站中包含缓存脚本时,我收到此错误..

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");
    }
}
?>

我似乎找不到它有什么问题.. 有什么帮助吗?

【问题讨论】:

  • 我们能看到函数是如何被调用的吗?一个常见的错误是在目录而不是文件上调用 filemtime()。

标签: php cache-control filemtime


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-14
      • 2012-11-13
      • 2013-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-30
      • 1970-01-01
      相关资源
      最近更新 更多