Предупреждение: filemtime (): сбой статистики в строке 49

Я пытаюсь исправить эту часть кода, так как я получаю сообщение об ошибке, подобное этому:

Предупреждение: filemtime (): сбой статистики для /var/www/vhosts/example.tk/httpdocs/manager/css/general.css в /var/www/vhosts/example.tk/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);

Я думаю, что это что-то связано с пути.

0

Решение

Чтобы обойти конкретную проблему, вам нужно сделать это:

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() от вызова на файл, который не существует. Что касается вашего вопроса в комментарии выше о том, как получить файл в каталоге merchant / css вместо manager / css, я не знаю ответа на этот вопрос — предоставленный вами код не дает достаточно подробных сведений о том, как список файлов is generate (передается через переменную $ arr_css), поэтому потребуется больше подробностей, чтобы выяснить, почему передается файл, который не существует.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]