Kako napraviti Images Thumbnail Koristeći PHP
Dakle želite izraditi sličice s obzirom sliku ... PHP čini ovaj jednostavan zadatak. Sam prvi put pisao funkcija ispod da se bave slike od strane korisnika na web stranici mogu pomoći upravljati. Učitane slike na ovim stranicama mogu se jpegs, pngs ili gifs, pa sam morao napisati funkciju koja se bavi svim trima. Ovaj kod je izvorno temelji isključivanje funkcije naći na webcheatsheet.com
Kako ćete to učiniti:
funkcija createThumbs ($ pathToImages, $ fname, pathToThumbs $, $ thumbWidth)
(
/ / Parsati put za proširenje
$ info = pathinfo ($ pathToImages. fname $);
/ / Nastaviti samo ako je to JPEG image
($info['extension']) == ‘jpeg’) ) if ((strtolower ($ info [ 'ekstenziju']) == 'jpg') | | (strtolower ($ info [ 'ekstenziju']) == 'jpeg'))
(/ / Učitavanje slika i dobiti veličina slike
$ img = imagecreatefromjpeg ( "($ pathToImages) ($ fname)");
$ width = imagesx ($ img);
$ imagesy height = ($ img);/ / Izračunati veličinu sličice
new_width $ = $ thumbWidth;
$ new_height kat = ($ height * ($ thumbWidth / $ width));/ / Izraditi novu privremenu sliku
$ tmp_img = imagecreatetruecolor ($ new_width, $ new_height);/ / Kopiranje i veličinu slike stare u nove slike
imagecopyresized ($ tmp_img, $ img, 0, 0, 0, 0, $ new_width, $ new_height, $ width, $ height);/ / Spremanje sličice u datoteku
imagejpeg ($ tmp_img, "($ pathToThumbs) ($ fname)");)
if (strtolower ($ info [ 'ekstenziju']) == 'gif')
(/ / Učitavanje slika i dobiti veličina slike
$ img = imagecreatefromgif ( "($ pathToImages) ($ fname)");
$ width = imagesx ($ img);
$ imagesy height = ($ img);/ / Izračunati veličinu sličice
new_width $ = $ thumbWidth;
$ new_height kat = ($ height * ($ thumbWidth / $ width));/ / Izraditi novu privremenu sliku
$ tmp_img = imagecreatetruecolor ($ new_width, $ new_height);/ / Kopiranje i veličinu slike stare u nove slike
imagecopyresized ($ tmp_img, $ img, 0, 0, 0, 0, $ new_width, $ new_height, $ width, $ height);/ / Spremanje sličice u datoteku
imagegif ($ tmp_img, "($ pathToThumbs) ($ fname)");)
if (strtolower ($ info [ 'ekstenziju']) == 'png')
(/ / Učitavanje slika i dobiti veličina slike
$ img = imagecreatefrompng ( "($ pathToImages) ($ fname)");
$ width = imagesx ($ img);
$ imagesy height = ($ img);/ / Izračunati veličinu sličice
new_width $ = $ thumbWidth;
$ new_height kat = ($ height * ($ thumbWidth / $ width));/ / Izraditi novu privremenu sliku
$ tmp_img = imagecreatetruecolor ($ new_width, $ new_height);/ / Kopiranje i veličinu slike stare u nove slike
imagecopyresized ($ tmp_img, $ img, 0, 0, 0, 0, $ new_width, $ new_height, $ width, $ height);/ / Spremanje sličice u datoteku
imagepng ($ tmp_img, "($ pathToThumbs) ($ fname)");)
)
Kako to radi
Funkcija createThumbs traje četiri argumenata.
- $ pathToImages -> Put do mape slikovne datoteke je u. To bi moglo izgledati nešto kao ovo: / home / content / username / html / popis / dodano /
- $ fname -> Ime datoteke: pic1.gif, johnny.jpg, itd ...
- $ pathToThumbs -> Put do mape koju želite sliku da se in vi ne želite da se isti put kao $ pathToImages, jer sliku će imati isto ime kao i originalne slike.
- $ thumbWidth -> Širina koje želite sličice da se u pikselima.
Važna napomena da sam ovdje trebala bi se da je ova funkcija nema ništa na mjestu, osim u datoteci produzenje provjeriti, da biste bili sigurni da slikovne datoteke sadrže zlonamjerne ništa. Budući da je slika createThumbs () radi s već učitane se pretpostavlja da su datoteke ispravno scrutinized.
Prva stvar createThumbs () je to poziv pathinfo (). pathinfo () breakove dijelova put u polje. To je korisno za nas, jer nam je potrebna file extension pravilno izraditi sličice. Sljedeća createThumbs () provjerava da li je riječ o jpeg. Ako originalne datoteke je JPEG createThumbs stvara nova slika temelji se na izvornu sliku sa imagecreatefromjpeg (). Sljedeći korak je dobiti širinu i visinu slike (imagesx (), imagesy ()). Korištenje $ thumbWidth i originalni omjer širine i visine createThumbs () postavlja nove širinu i visinu sličice. Korištenje ovih novih ratios createThumbs () stvara "prazno" slika koja će biti ista širinu i visinu sličice sa imagecreatetruecolor (). Imagecopyresized () se koristi za resize slika i spremite je u "prazno", upravo stvorili. imagecopyresized () može izgledati kao da ima puno parametara, ali ako pogledajte dokumentaciju ga stvarno nije komplicirano. Sada kada sličice postoji kao istinski boji slike sve createThumbs treba učiniti je pretvoriti datoteke u JPEG. Da biste to učinili imagejpeg () je pozvan.
To je način na koji funkcioniraju radi jpegs. Postoje minimalne razlike. Pngs i. Gifs.






















