Скрипт оптимизирующий изображения
От: Volgare  
Дата: 11.03.11 08:18
Оценка:
Замучился искать причину почему мое флэш-приложение генерирует картинки размерами 800х800 пикселей, но которые при этом весят от 1Мб и выше.
Подскажите, плиз, такой PHP скрипт, который бы искал все файлы jpg в заданной директории и, не меняя размеров и имени файла, с использованием нужных библиотек хостинга правильно оптимизировал картинку. Я бы его поставил на крон раз в неделю и он бы созданные юзерами картинки уменьшал.

Заранее — спасибо!
Re: Скрипт оптимизирующий изображения
От: Практик-Скептик США  
Дата: 11.03.11 08:27
Оценка: 6 (1)
Здравствуйте, Volgare, Вы писали:

V>Замучился искать причину почему мое флэш-приложение генерирует картинки размерами 800х800 пикселей, но которые при этом весят от 1Мб и выше.

V>Подскажите, плиз, такой PHP скрипт, который бы искал все файлы jpg в заданной директории и, не меняя размеров и имени файла, с использованием нужных библиотек хостинга правильно оптимизировал картинку. Я бы его поставил на крон раз в неделю и он бы созданные юзерами картинки уменьшал.

что-то типа

$quality = 80; // Можно подбирать
foreach(glob("*.jpg") as $fileName)
{
  $img = imagecreatefromjpeg($fileName);
  if($img)
  {
    imagejpeg($img, $fileName, $quality);
    imagedestroy($img);
  }
}


При желании можно засунуть imagejpeg в цикл, подбирая размер файла для каждого файла (например, делением пополам )

V>Заранее — спасибо!
Re[2]: Скрипт оптимизирующий изображения
От: Volgare  
Дата: 11.03.11 08:30
Оценка:
Здравствуйте, Практик-Скептик, Вы писали:

ПС>что-то типа



ПС>При желании можно засунуть imagejpeg в цикл, подбирая размер файла для каждого файла (например, делением пополам )


Спасибо, скоро попробую.
Re[2]: Скрипт оптимизирующий изображения
От: Volgare  
Дата: 11.03.11 09:33
Оценка:
Здравствуйте, Практик-Скептик, Вы писали:

Работает.
Правда из 1000 картинок десяток то ли скрипт испортил, то ли они уже были ранее испорчены. Картинка становится частично (снизу) серая. И такие ворнинги скрипт пишет.

Warning: imagecreatefromjpeg() [function.imagecreatefromjpeg]: gd-jpeg, libjpeg: recoverable error: Premature end of JPEG file in /home/myacc/public_html/vg/art/collages/optimaze.php on line 6

Warning: imagecreatefromjpeg() [function.imagecreatefromjpeg]: 'collage_1106.jpg' is not a valid JPEG file in /home/myacc/public_html/vg/art/collages/optimaze.php on line 6
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.