1954

Как исправить возникающую ошибку?

1 ответ

Ребят, ошибка на протяжении длительного времени public_html/system/library/cache/file.php возникает ошибка на 68 строки, в связи с отсутствием необходимого файла (No such file or directory)

код

<?php
namespace Cache;
class File {
private $expire;

public function __construct($expire = 3600) {
$this->expire = $expire;

$files = glob(DIR_CACHE . 'cache.*');

if ($files) {
foreach ($files as $file) {
$time = substr(strrchr($file, '.'), 1);

if ($time < time()) {
if (file_exists($file)) {
unlink($file);
}
}
}
}
}

public function get($key) {
$files = glob(DIR_CACHE . 'cache.' . preg_replace('/[^A-Z0-9\._-]/i', '', $key) . '.*');

if ($files) {
$handle = fopen($files[0], 'r');

flock($handle, LOCK_SH);

$data = fread($handle, filesize($files[0]));

flock($handle, LOCK_UN);

fclose($handle);

return json_decode($data, true);
}

return false;
}

public function set($key, $value) {
$this->delete($key);

$file = DIR_CACHE . 'cache.' . preg_replace('/[^A-Z0-9\._-]/i', '', $key) . '.' . (time() + $this->expire);

$handle = fopen($file, 'w');

flock($handle, LOCK_EX);

fwrite($handle, json_encode($value));

fflush($handle);

flock($handle, LOCK_UN);

fclose($handle);
}

public function delete($key) {
$files = glob(DIR_CACHE . 'cache.' . preg_replace('/[^A-Z0-9\._-]/i', '', $key) . '.*');

if ($files) {
foreach ($files as $file) {
if (file_exists($file)) {
unlink($file);
}
}
}
}
}

Ответы (1)

Asylum +242
11.02.2019 19:32
Opencart, как понимаю. Если навскидку, либо банально не хватает места на диске, лбо кому то не хватает прав )))

Похожие вопросы

Виталий Лошков
120

Требуется помощь, консультация, настройка

При выполнении команды конвертации файла в odt из PHP-скрипта: system ("sudo -u root unoconv -f docx file.odt"); время от времени (может раз в день, может раз в неделю) команда перестает работать, при этом ответ от PHP-скрипта никакой не приходит. Лечится...
Andrey
174

Проблема с отправкой почтовой формы

Доброго времени суток. Столкнулся со следующей проблемой - есть небольшой лэндинг на html, в котором есть форма отправки данных на почту gmail.  Для отправки формы используется небольшой php код <?php     if ($_SERVER['REQUEST_METHOD']=='POST'...
С помощью соцсетей
У меня нет аккаунта Зарегистрироваться
Нажимая кнопку «Зарегистрироваться», я даю согласие на обработку своих персональных данных, указанных в форме регистрации.
С помощью соцсетей
У меня уже есть аккаунт Войти
Нажимая кнопку «Зарегистрироваться», я даю согласие на обработку своих персональных данных, указанных в форме регистрации.
Инструкции по восстановлению пароля высланы на Ваш адрес электронной почты.
Пожалуйста, укажите email вашего аккаунта
Ваш баланс 10 ТК
1 ТК = 1 ₽
О том, как заработать и потратить Таймкарму, читайте в этой статье
Чтобы потратить Таймкарму, зарегистрируйтесь на нашем сайте