banderos120
@banderos120
Играю на балалайке

Как правильно организовать взаимодействие обработчиков файла?

Здравствуйте.
Стоит следующая задача. Есть файл. При передаче параметров вместе с путем к файлу, эти параметры будут обрабатываться и на основе их, к файлу, расположенному по указанному пути, будут применяться различные обработчики.
Для примера:
Есть у нас изображение, в параметрах мы передаем :
$args = array(
'crop' => array('size' => '230x430', 'scale' => true),
'blur' => array('radius' => '10'),
'archive' => array('format' => 'zip')
);

Т.е. картинка будет масштабирована и обрезана, размыта и заархивирована. В промежутках между применением обработчиков нужно результат сохранять в файл, отличный от оригинала, следственно, сохранять его я думаю в TEMP файл, во временную директорию php. После чего каждому обработчику будет передан путь к temp файлу, с которым они будут работать. В конце обработки файл будет перемещен в необходимую, для публичного доступа, дирректорию.
Так вот, правильно ли я мыслю ? Не будет ли проблем с копированием файлов во временную диррекотрию PHP в плане ресурсоемкости. Так же нет ли каких подводных камней при работе с temp файлами php ?
----------
Важная часть в том, чтобы организовать обработку файла между разными библиотеками, например Imagick, GD, phpPDF и phpExcell - это для примера, даже если phpExcell не сможет обработать картинку - вернет Exception на своем уровне, просто я не вижу другого выхода или способа, кроме как сохранять во временный файл и передавать очередной либе на вход его путь.
  • Вопрос задан
  • 2346 просмотров
Решения вопроса 1
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Я правильно понимаю что вы на каждый чих будете к файловой системе обращаться? Намного быстрее будет в воркере сделать все операции один раз в памяти.

И да, какой смысл архивировать изображение в zip? Если это конечно не BMP.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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