slo_nik
@slo_nik

Ошибка при открытии файла imagine. Как исправить?

Доброй ночи.
Столкнулся с непонятной для меня проблемой.
Есть консольное приложение, которое парсит объявления с удалённого сервера. В объявлениях есть изображения.
Сначала изображения закачиваются во временную директорию, затем изменяется размер, создаются уменьшенные копии и в завершении переносятся в постоянную директорию.
Но после нескольких итераций цикла выводится ошибка:
Exception 'Imagine\Exception\RuntimeException' with message 'Unable to open image /home/slonik/localhost/www/test.loc/prodejvuz/frontend/web/cars/tmp_upload/9/6O35536.jpg'

Само изображение существует. Для всех предшествующих изображений изменён размер и сделаны превью.
С правами доступа проблем нет.
Вот вывод команды ls -l
-rw-rw-r-- 1 slonik slonik  64344 мар 20 23:04 0O35536.jpg
-rw-rw-r-- 1 slonik slonik  67230 мар 20 23:04 1O35536.jpg
-rw-rw-r-- 1 slonik slonik  56515 мар 20 23:04 2O35536.jpg
-rw-rw-r-- 1 slonik slonik  59062 мар 20 23:04 3O35536.jpg
-rw-rw-r-- 1 slonik slonik  74374 мар 20 23:04 4O35536.jpg
-rw-rw-r-- 1 slonik slonik  31160 мар 20 23:04 5O35536.jpg
-rw-rw-r-- 1 slonik slonik 216203 мар 20 23:04 6O35536.jpg
drwxr-xr-x 1 slonik slonik    132 мар 20 23:04 mini

Проблема с изображением 6O35536.jpg. До этого все изображения от 0O35536.jpg и до 5O35536.jpg изменены в размере и сделаны уменьшенные копии, которые помещены в директорию "mini".
Методы, которые отвечают за изменение размера и создание превью.
public static function resizeImg($dir, $file, $path=null)
{
    foreach($file as $value){
        if($value != 'mini' && (mime_content_type($path . $value) == 'image/jpeg')){
            Image::resize($path . $value, 1200, null)->save($path . $value, ['jpeg_quality' => 80]);
            self::thumbnail($value, $path);
            Images::writeImg($value, $dir);
        }
        else{
            continue;
        }
    }
}

public static function thumbnail($file, $path)
{
    if(!file_exists($path . 'mini/')){
        mkdir($path . 'mini', 0755);
    }
    Image::thumbnail($path . $file, 274, 210)->save($path . 'mini/' . $file);
}


В чём может быть причина остановки работы скрипта? Ведь изображение существует, права на чтение есть, да и предыдущие изображения были обработаны без проблем.
  • Вопрос задан
  • 584 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы