Скрипт уменьшения размера фото

Представляю Вашему вниманию “деревянный” скрипт для обработки фотографий на php, с целью уменьшения их веса, путем отсекания лишних пикселей.

Подробнее: большинство фотоаппаратов создают фото размером (например) 2500px на 3500px.
Нафиг мне такая фотка, подумал я как то, которая занимает 2 метра, и я никогда ее не разверну на весь ее размер? моник  у меня 1280х1024, значит примерно такое мне и надо.

Согласен, бред делать программу для обработки фоток на php, но то ли я плохо искал, то ли ничего такого в сети не было – я не знаю, но я до сих пор пользуюсь ним и оч доволен :) В фотошопе как то можно, но я далеко не ас в нем, все что я могу делать это разрезать картинки, и уменьшать размер фотки вручную, что, согласитесь, не очень удобно, когда у тебя 200 фоток.

Вобщем, если у кого такая же тяжелая судьба как у меня – пользуйтесь.

Как работает скрипт:
– он состоит из основного файла index.php и библиотеки ProgressBar.class.php. Также имеется две папки: photo – папка для фоток, которые нужно обработать, normal – туда идут обработанные фотки.
Внимание! Скрипт предназначен для работы на локалке (на денвере, например), в общем то, его можно использовать и на любом сервере, но обработанные фотки прийдется скачивать по ftp.

1. Извлекаем все файлы и папки из архива в корень того места (сайта), где он будет у нас работать, у себя на денвере я сделал его отдельным доменом S:\home\convert\www и туда вбухал все.

2. Копируем необработанные фото в папку photo

3. Переходим по адресу, в данном случае http://convert/

4. Жмем кнопку “оптимизировать”

5. По окончанию работы скрипта забираем обработанные фото из папки normal

Важный момент:

в начале php кода прописаны переменные

$w=1280; // ширина
$h=960; // высота

тут все ясно, важно то, что у разных фотоаппаратов могут быть (я не уверен) разные пропорции фото (сейчас пропорция 4:3), да и вам может понадобиться размер отличный от заданного в скрипте, важно понимать, что скрипт обрабатывает фото четко по тому размеру, который вы зададите, скажете ему что ширина должна быть 10 px а высота 400 – он так и сделает :)

Еще важный момент: во время обработки скрипт удаляет оригиналы, если вы хотите чтобы оригиналы оставались, найдите и удалите (или закомментируйте) в файле index.php строку

unlink($fileSource);

Спасибо за внимание, буду рад если кому то окажется полезен.

[download id=”5″]