Я разрабатываю веб-сайт, и мне нужно:
По сути, основная загрузка изображения
Вместо того, чтобы писать свои собственные, я пытаюсь найти класс php, который позволит мне делать все это, потому что, как сказал Джефф Этвуд, «никогда не разрабатывайте то, что вы можете украсть»,
Теперь, прежде чем идти вперед и вниз, потому что я не занимался своими исследованиями, я сделал:
Googling это приводит к огромному количеству результатов, что является проблемой, я не знаю, какие результаты полезны и какие мусор!
До сих пор я обнаружил:
Кто-нибудь имеет опыт работы с этими классами? Можете ли вы порекомендовать отличный класс загрузки изображений?
Я склонен использовать рамки того или иного описания, которые охватывают часть загрузки файла. Однако у вас есть рекомендация для бита обрезки:
Представьте себе – https://github.com/avalanche123/Imagine
И если вы хотите сделать загрузчик немного лучше, чем просто input type = file, попробуйте:
Моя личная любимая библиотека манипулирования изображениями – 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).
Вы можете проверить их на:
Класс манипуляции с изображениями
Класс загрузки файлов