В первые дни моего сайта я разрешал людям загружать изображения любого размера, которые они хотели. Теперь у меня есть клиентская и серверная конфигурация, чтобы ограничить новые изображения до 2000 пикселей максимум, сохраняя при этом исходное соотношение.
Так что из старой конфигурации у меня есть куча каталогов с большими изображениями, которые мне нужно уменьшить, я хотел бы сделать это на стороне сервера в пакетном режиме (из-за ограничений пропускной способности на стороне клиента) и на весь срок службы я не могу решить это. Я понимаю, что это приведет к высокой загрузке ЦП на стороне сервера, поэтому я буду делать это в группах, распределенных в течение нескольких дней.
Из-за ограничений ОЗУ хоста я не могу использовать GD для масштабирования, поэтому мне доступен ImageMagick.
Пример группы, которую я бы сделал в 1 партии, выглядит следующим образом:
/ Изображения / 01/101 / abc.jpg
/ Images / 01/101 / random.jpg
/ Images / 01/101 / randomfile.jpg
/ Images / 01/184 / random.jpg
/ Изображения / 01/184 / photo.jpg
/ Images / 03/372 / randomnumber.jpg
/ Изображения / 03/372 / randomanything.jpg
Итак, я за чем-то, что может:
- Рекурсивно просматривайте все каталоги и подкаталоги в поисках JPG, когда он найдет один -
- Отработать коэффициент текущей ликвидности
- Переименуйте исходный файл в origional.jpg.old
- изменить размер файла максимум до 2000 пикселей по высоте / ширине, сохраняя соотношение сторон
- записать файл на диск, используя имя файла origional.jpg
- проверьте, что новый origional.jpg является действительным счастливым файлом
- И если это счастливый файл, удалите origional.jpg.old
- Затем обработайте следующий файл / папку.
Я застрял и хотел бы любую помощь, пожалуйста.
Спасибо
Грег