Cum sa faci Thumbnail Images Using PHP
Deci, doriţi să creaţi o miniatură de la o anumită imagine ... PHP face această sarcină uşoară. Am scris primul funcţia de mai jos pentru a se ocupa de imagini încărcate de utilizatori de la un site sa te ajut administra. Uploaded imagini de la acest site pot fi formate JPEG, pngs, sau GIFs, aşa că a trebuit să scrie o funcţie pentru a se ocupa de toate cele trei. Acest cod este bazată iniţial pe o funcţie de găsit la webcheatsheet.com
Cum se face:
funcţiei createThumbs ($ pathToImages, $ fname, $ pathToThumbs, $ thumbWidth)
(
/ / Analiza calea pentru extinderea
$ info = pathinfo ($ pathToImages. $ fname);
/ / Continua numai dacă aceasta este o imagine JPEG
($info['extension']) == ‘jpeg’) ) dacă ((strtolower ($ info [ 'extindere']) == "jpg") | | (strtolower ($ info [ 'extindere']) == 'jpeg'))
(/ / De încărcare a imaginii şi a lua dimensiunea imaginii
$ img = imagecreatefromjpeg ( "($ pathToImages) ($ fname)");
$ width = imagesx ($ img);
$ height = imagesy ($ img);/ / Calcula dimensiunea thumbnail
$ new_width = $ thumbWidth;
$ = new_height podea ($ inaltime * ($ thumbWidth / $ latime));/ / Temporară a crea o nouă imagine
$ tmp_img = imagecreatetruecolor ($ new_width, $ new_height);/ / Copie şi redimensiona imaginea vechi în noua imagine
imagecopyresized ($ tmp_img, $ img, 0, 0, 0, 0, $ new_width, new_height $, $ width, $ height);/ / Salva miniatură într-un fişier
imagejpeg ($ tmp_img, "($ pathToThumbs) ($ fname)");)
if (strtolower ($ info [ 'extindere']) == 'gif')
(/ / De încărcare a imaginii şi a lua dimensiunea imaginii
$ img = imagecreatefromgif ( "($ pathToImages) ($ fname)");
$ width = imagesx ($ img);
$ height = imagesy ($ img);/ / Calcula dimensiunea thumbnail
$ new_width = $ thumbWidth;
$ = new_height podea ($ inaltime * ($ thumbWidth / $ latime));/ / Temporară a crea o nouă imagine
$ tmp_img = imagecreatetruecolor ($ new_width, $ new_height);/ / Copie şi redimensiona imaginea vechi în noua imagine
imagecopyresized ($ tmp_img, $ img, 0, 0, 0, 0, $ new_width, new_height $, $ width, $ height);/ / Salva miniatură într-un fişier
imagegif ($ tmp_img, "($ pathToThumbs) ($ fname)");)
if (strtolower ($ info [ 'extindere']) == "png")
(/ / De încărcare a imaginii şi a lua dimensiunea imaginii
$ img = imagecreatefrompng ( "($ pathToImages) ($ fname)");
$ width = imagesx ($ img);
$ height = imagesy ($ img);/ / Calcula dimensiunea thumbnail
$ new_width = $ thumbWidth;
$ = new_height podea ($ inaltime * ($ thumbWidth / $ latime));/ / Temporară a crea o nouă imagine
$ tmp_img = imagecreatetruecolor ($ new_width, $ new_height);/ / Copie şi redimensiona imaginea vechi în noua imagine
imagecopyresized ($ tmp_img, $ img, 0, 0, 0, 0, $ new_width, new_height $, $ width, $ height);/ / Salva miniatură într-un fişier
imagepng ($ tmp_img, "($ pathToThumbs) ($ fname)");)
)
Cum funcţionează
Funcţia createThumbs durează patru argumente.
- $ pathToImages -> calea către folderul fişierului imagine este inch S-ar putea să arate ceva în genul: / home / content / numele de utilizator / html / lista / imagini /
- $ fname -> Numele fisierului: pic1.gif, johnny.jpg, etc ...
- $ pathToThumbs -> calea către folderul dorit de imagine în miniatură a fi inch nu vrei ca aceasta să fie aceeaşi cale ca $ pathToImages, de imagine în miniatură, pentru că va avea acelaşi nume ca şi originalul imagine.
- $ thumbWidth -> Lăţimea care doriţi cu pictograme pentru a fi, în pixeli.
O notă importantă care ar trebui să fac eu aici este faptul că această operaţiune nu are nimic de la locul lor, altele decât cele de fişier prelungire verifica, pentru a vă asigura că fişierele de imagine conţine nimic rău. Deoarece fişierele createThumbs () cu lucrări au fost deja încărcat se presupune că dosarele au fost examinate în mod corespunzător.
Primul lucru createThumbs () nu este apel pathinfo (). pathinfo () pauze de piese de o cale într-o matrice. Acest lucru este util pentru noi, pentru că avem nevoie de fişier de extensie pentru a crea în mod corespunzător cu pictograme. Înainte createThumbs () controale pentru a vedea dacă avem de-a face cu un jpeg. În cazul în care originalul este un fişier JPEG createThumbs Creeaza o noua imagine, pe baza imaginii originale cu imagecreatefromjpeg (). Următorul pas este de a obtine lăţimea şi înălţimea de această imagine (imagesx (), imagesy ()). Utilizarea $ thumbWidth şi a raportului de original lăţimea şi înălţimea createThumbs () stabileşte noi lăţimea şi înălţimea de pictograme. Prin aceste noi raporturi de createThumbs () creează un "gol" de imagini, care va fi aceeaşi lăţimea şi înălţimea de pictograme cu imagecreatetruecolor (). Imagecopyresized () este folosit pentru a redimensiona imaginea şi salvaţi-o în "gol" doar creat. imagecopyresized () ar putea parea ca este nevoie de o mulţime de parametri, dar, dacă aruncăm o privire la documentaţia este adevărat că nu este complicat. Acum, că există o miniatură ca un adevarat culoare imagine toate createThumbs trebuie să faceţi este să se transforme într-un fişier JPEG. Pentru a face acest lucru imagejpeg () se numeşte.
Asta e modul în care funcţia de lucrări pentru JPEG. Există diferenţe minime pentru. Pngs şi. GIFs.






















