警告:Filemtime():统计数据在第49行中失败



我正在尝试修复该代码的这一部分,因为我遇到了这样的错误:

警告:filemtime((:stat失败for/var/www/vhosts/example.tk/httpdocs/manager/manager/css/general.css in/var/wwww/vhosts/www/vhosts/example.tk/example.tk/httpdocs/httpdocs/js-and--------------------------------------------css.inc.php在第49行

 function addStyleCssHtml($arr_css){
$css_files=implode('|', $arr_css);
$file_hash=sha1($css_files);
$dest_path=$_SERVER['DOCUMENT_ROOT'].'/css/static-'.$file_hash.'.css';
$recreate=!file_exists($dest_path);    
if (!$recreate) {
    $last_updated=filemtime($dest_path);
    foreach ($arr_css as $fl){
        $temp_path=(substr($fl, 0, 1)=='/')?$_SERVER['DOCUMENT_ROOT'] . $fl:realpath($fl);
        if (!file_exists($temp_path)) $temp_path=$_SERVER['DOCUMENT_ROOT'].'/'.$fl;
        $time = filemtime($temp_path);
        if ($time > $last_updated) {
           $recreate=true;
           break;
        } 

第49行是:$time = filemtime($temp_path);

我认为这与道路有关。

要解决特定的问题,您需要这样做:

if (!$recreate) {
$last_updated=filemtime($dest_path);
foreach ($arr_css as $fl){
    $temp_path=(substr($fl, 0, 1)=='/')?$_SERVER['DOCUMENT_ROOT'] . $fl:realpath($fl);
    if (!file_exists($temp_path)) $temp_path=$_SERVER['DOCUMENT_ROOT'].'/'.$fl;
    if (file_exists($temp_path)) {
        $time = filemtime($temp_path);
        if ($time > $last_updated) {
           $recreate=true;
           break;
        }
    }

if(file_exists($tempfile))块将防止filemtime()在不存在的文件上被调用。至于您在上面的评论中有关如何在商家/CSS目录中获取文件而不是管理器/CSS的问题,我不知道答案的答案 - 您提供的代码没有足够的详细信息有关文件列表的详细信息是生成(通过$ arr_css变量传递的(,因此需要更多详细信息才能弄清为什么不存在文件的文件。

相关内容

  • 没有找到相关文章

最新更新