Лучший класс изображений изображений PHP

Я разрабатываю веб-сайт, и мне нужно:

  • Загрузить изображение
  • Подтвердите, что это образ (а не, о, я не знаю …. вирус :))
  • Изменение размера изображения
  • конвертировать в jpg

По сути, основная загрузка изображения

Вместо того, чтобы писать свои собственные, я пытаюсь найти класс php, который позволит мне делать все это, потому что, как сказал Джефф Этвуд, «никогда не разрабатывайте то, что вы можете украсть»,

Теперь, прежде чем идти вперед и вниз, потому что я не занимался своими исследованиями, я сделал:

Googling это приводит к огромному количеству результатов, что является проблемой, я не знаю, какие результаты полезны и какие мусор!

До сих пор я обнаружил:

  • https://stackoverflow.com/questions/4997127/php-class-to-upload-image-from-url-and-resize-it (я знаю, что это похоже на дубликат, но не потому, что он запрашивает URL-адрес сборщик)
  • http://net.tutsplus.com/tutorials/php/image-resizing-made-easy-with-php/
  • http://www.verot.net/php_class_upload.htm
  • http://blog.freelancer-id.com/index.php/2010/03/21/php-image-crop-resize-upload
  • http://www.phpclasses.org/package/2181-PHP-Process-files-and-images-uploaded-via-a-form.html
  • http://www.digitalgemstones.com/code/tools/ImgUploader.php

Кто-нибудь имеет опыт работы с этими классами? Можете ли вы порекомендовать отличный класс загрузки изображений?

Я склонен использовать рамки того или иного описания, которые охватывают часть загрузки файла. Однако у вас есть рекомендация для бита обрезки:

Представьте себе – https://github.com/avalanche123/Imagine

И если вы хотите сделать загрузчик немного лучше, чем просто input type = file, попробуйте:

https://github.com/valums/file-uploader

Моя личная любимая библиотека манипулирования изображениями – WideImage . Делать это смехотворно легко.

 WideImage::load('pic.png') ->crop('center', 'center', 90, 50)->saveToFile('cropped/pic.jpg'); 

Что касается проверки правильности изображения или нет, используйте finfo или PEAR::Mime_type . Я лично предпочитаю PEAR::Mime_Type . Он использует finfo но его проще использовать.

Использование finfo :

 $finfo = finfo_open(FILEINFO_MIME_TYPE); $mimetype = finfo_file($finfo, $filename); $isImage = (preg_match('#^image/#', $mimetype) === 1); 

Использование PEAR::Mime_Type :

 $mimetype = MIME_Type::autoDetect($filename); $isImage = MIME_Type::wildcardMatch('image/*', $mimetype); 

Проверьте плагин JCROP

Это будет полезно для всех

JCROP Image cropping—-deepliquid.com/content/Jcrop.html

введите описание изображения здесь

Загрузка класса из Colin Verot http://www.verot.net/php_class_upload.htm – мой любимый. Я использую во всех своих проектах. Подобно тому, как вы говорите «с классом» и используете только то, что вам нужно, но дает множество настроек / методов, чтобы настроить его на ваши конкретные потребности. Отличный класс!

есть также эта легкая библиотека манипулирования изображениями, написанная на PHP под названием Zebra_Image, которая очень маленькая, а не раздутая множеством функций, которые вы никогда не будете использовать, с высокой оптимизацией, с отличной документацией и которая активно поддерживается.

Я рекомендую использовать Smart Image Resizer http://shiftingpixel.com/2008/03/03/smart-image-resizer/

Вы получаете наилучшее качество изображения после изменения размера

Он чрезвычайно прост в использовании. Он использует кеш изображения.

Я рекомендую SimpleImage , он очень прост, имеет только один файл и обновляется.

Пример использования:

 $img = new SimpleImage('image.jpg'); // Resize the image to 320x200 $img->resize(320, 200); $img->save('new-image.jpg'); 

Если вы хотите перейти в структуру MVC PHP, я настоятельно рекомендую Codeigniter .

Помимо нескольких других классов и библиотек, которые обрабатывают разбиение на страницы, таблицы, безопасность, формы и т. Д. У CI также есть хорошие классы загрузки и обработки изображений, которые очень удобны и гибки. Я считаю, что они могут делать все, что вам нужно (просто не уверены в преобразовании jpg).

Вы можете проверить их на:

Класс манипуляции с изображениями

Класс загрузки файлов