Как сделать эскизов изображений с помощью PHP
Таким образом, вы хотите создать эскиз с учетом изображений ... PHP делает эту задачу легко. Сначала я написал функцию ниже, чтобы рассматривать картинки загруженные пользователями на сайте я помочь управлять. Загруженные изображения на этом сайте может быть в формате JPEG, PNG файлов, или GIFs, так что мне пришлось писать функцию для борьбы со всеми тремя. Этот код изначально основаны списание функции найти на webcheatsheet.com
Как это сделать:
Функция createThumbs ($ pathToImages, $ FName, $ pathToThumbs, $ thumbWidth)
(
/ / Разбор путь для расширения
Информация $ = pathinfo ($ pathToImages. $ FName);
/ / Продолжать только в том случае, если это JPEG изображение
($info['extension']) == ‘jpeg’) ) если ((strtolower ($ Инфо [ 'расширение']) == 'JPG') | | (strtolower ($ Инфо [ 'расширение']) == 'JPEG'))
(/ / Загрузить изображение и получить изображение размером
$ IMG = imagecreatefromjpeg ( "($ pathToImages) ($ FName)");
$ ширина = imagesx ($ IMG);
$ = высота imagesy ($ IMG);/ / Вычислить размер эскизов
new_width $ = $ thumbWidth;
$ = new_height этаж (высота * $ ($ thumbWidth / $ ширину));/ / Создание новых временных изображений
$ tmp_img = imagecreatetruecolor ($ new_width, $ new_height);/ / Копировать и изменять размеры изображений старый в новый образ
imagecopyresized ($ tmp_img, $ IMG, 0, 0, 0, 0, $ new_width, $ new_height, $ ширина, $ высота);/ / Сохранить миниатюру в файл
imagejpeg ($ tmp_img, "($ pathToThumbs) ($ FName)");)
если (strtolower ($ Инфо [ 'расширение']) == 'GIF')
(/ / Загрузить изображение и получить изображение размером
$ IMG = imagecreatefromgif ( "($ pathToImages) ($ FName)");
$ ширина = imagesx ($ IMG);
$ = высота imagesy ($ IMG);/ / Вычислить размер эскизов
new_width $ = $ thumbWidth;
$ = new_height этаж (высота * $ ($ thumbWidth / $ ширину));/ / Создание новых временных изображений
$ tmp_img = imagecreatetruecolor ($ new_width, $ new_height);/ / Копировать и изменять размеры изображений старый в новый образ
imagecopyresized ($ tmp_img, $ IMG, 0, 0, 0, 0, $ new_width, $ new_height, $ ширина, $ высота);/ / Сохранить миниатюру в файл
imagegif ($ tmp_img, "($ pathToThumbs) ($ FName)");)
если (strtolower ($ Инфо [ 'расширение']) == 'PNG')
(/ / Загрузить изображение и получить изображение размером
$ IMG = imagecreatefrompng ( "($ pathToImages) ($ FName)");
$ ширина = imagesx ($ IMG);
$ = высота imagesy ($ IMG);/ / Вычислить размер эскизов
new_width $ = $ thumbWidth;
$ = new_height этаж (высота * $ ($ thumbWidth / $ ширину));/ / Создание новых временных изображений
$ tmp_img = imagecreatetruecolor ($ new_width, $ new_height);/ / Копировать и изменять размеры изображений старый в новый образ
imagecopyresized ($ tmp_img, $ IMG, 0, 0, 0, 0, $ new_width, $ new_height, $ ширина, $ высота);/ / Сохранить миниатюру в файл
imagepng ($ tmp_img, "($ pathToThumbs) ($ FName)");)
)
Как это работает
Функция createThumbs принимает четыре аргумента.
- $ pathToImages -> Путь к папке файл образа является дюйма Она может выглядеть примерно так: / Главная / Содержание / имя пользователя / HTML / список / закачки /
- $ FName -> Имя файла: pic1.gif, johnny.jpg, и т.д. ...
- $ pathToThumbs -> Путь к папке, вы хотите эскизов изображений для дюйма вы не хотите, чтобы это тот же путь, как $ pathToImages, потому эскизов изображений будут иметь то же имя в качестве исходного изображения.
- $ thumbWidth -> Ширина, что вы хотите миниатюру, чтобы быть в пикселях.
Важно отметить, что я должен сделать здесь заключается в том, что эта функция не имеет ничего месте, кроме файла расширение проверить, чтобы убедиться, что файлы содержат ничего вредоносного. Поскольку файлы createThumbs () работает с уже загрузили предполагается, что файлы были надлежащим образом тщательно.
Первым делом createThumbs () делает это слово pathinfo (). pathinfo () разбивает части пути в массиве. Это полезно для нас, потому что нам необходимо расширение файла правильно создавать эскизы. Далее createThumbs () проверяет, есть, если мы имеем дело с JPEG. Если исходный файл JPEG createThumbs создает новый имидж основан на исходном изображении с imagecreatefromjpeg (). Следующий шаг состоит в том, чтобы ширина и высота этого изображения (imagesx (), imagesy ()). Использование $ thumbWidth и соотношения первоначальной ширины и высоты createThumbs () устанавливает новый ширина и высота эскизов. Используя эти новые коэффициенты createThumbs () создает "пустые" изображения, которое будет таким же, ширина и высота эскизов с imagecreatetruecolor (). Imagecopyresized () используется для изменения размера изображения и сохраните его в "пустой" только создается. imagecopyresized () может показаться, как он принимает много параметров, но если вы посмотрите на документацию, это действительно не так сложно. Теперь, когда эскиз существует как True Color изображение всех createThumbs нужно сделать, это конвертировать файл в формате JPEG. Для этого imagejpeg () называется.
Вот как функция работает в формате JPEG. Есть минимальные различия в. PNG файлов и. GIFs.






















