Come rendere le immagini in miniatura utilizzando PHP
Così si desidera creare una miniatura a partire da una data immagine ... PHP rende questo compito facile. Mi ha scritto la prima funzione qui sotto per trattare con le immagini caricate dagli utenti in un sito aiutare amministrare. Immagini caricate a questo sito possono essere i file JPEG, PNG, o GIF, così ho dovuto scrivere una funzione per far fronte a tutti e tre. Questo codice è basato, in origine, al largo di una funzione disponibile sul sito webcheatsheet.com
Come per farlo:
funzione createThumbs ($ pathToImages, $ fname, $ pathToThumbs, $ thumbWidth)
(
/ / Percorso per analizzare l'estensione
$ info = pathinfo ($ pathToImages. $ fname);
/ / Continuare solo se si tratta di una immagine JPEG
($info['extension']) == ‘jpeg’) ) if ((strtolower ($ info [ 'estensione']) == 'jpg') | | (strtolower ($ info [ 'estensione']) == 'jpeg'))
(/ / Caricare l'immagine e ottenere le dimensioni delle immagini
img = $ imagecreatefromjpeg ( "($ pathToImages) () $ fname");
$ width = imagesx ($ img);
$ height = imagesy ($ img);/ / Calcolare le dimensioni miniatura
new_width $ = $ thumbWidth;
new_height $ = piano ($ altezza * (thumbWidth $ / $ larghezza));/ / Creare una nuova immagine temporaneo
tmp_img $ = imagecreatetruecolor ($ new_width, $ new_height);/ / Copiare e ridimensionare vecchia immagine in nuova immagine
imagecopyresized ($ tmp_img, $ img, 0, 0, 0, 0, $ new_width, new_height $, $ larghezza, $ altezza);/ / Salviamo la miniatura in un file
imagejpeg ($ tmp_img, "pathToThumbs $ () () $ fname");)
if (strtolower ($ info [ 'estensione']) == 'gif')
(/ / Caricare l'immagine e ottenere le dimensioni delle immagini
img = $ imagecreatefromgif ( "($ pathToImages) () $ fname");
$ width = imagesx ($ img);
$ height = imagesy ($ img);/ / Calcolare le dimensioni miniatura
new_width $ = $ thumbWidth;
new_height $ = piano ($ altezza * (thumbWidth $ / $ larghezza));/ / Creare una nuova immagine temporaneo
tmp_img $ = imagecreatetruecolor ($ new_width, $ new_height);/ / Copiare e ridimensionare vecchia immagine in nuova immagine
imagecopyresized ($ tmp_img, $ img, 0, 0, 0, 0, $ new_width, new_height $, $ larghezza, $ altezza);/ / Salviamo la miniatura in un file
imagegif ($ tmp_img, "pathToThumbs $ () () $ fname");)
if (strtolower ($ info [ 'estensione']) == 'png')
(/ / Caricare l'immagine e ottenere le dimensioni delle immagini
img = $ imagecreatefrompng ( "($ pathToImages) () $ fname");
$ width = imagesx ($ img);
$ height = imagesy ($ img);/ / Calcolare le dimensioni miniatura
new_width $ = $ thumbWidth;
new_height $ = piano ($ altezza * (thumbWidth $ / $ larghezza));/ / Creare una nuova immagine temporaneo
tmp_img $ = imagecreatetruecolor ($ new_width, $ new_height);/ / Copiare e ridimensionare vecchia immagine in nuova immagine
imagecopyresized ($ tmp_img, $ img, 0, 0, 0, 0, $ new_width, new_height $, $ larghezza, $ altezza);/ / Salviamo la miniatura in un file
imagepng ($ tmp_img, "pathToThumbs $ () () $ fname");)
)
Come funziona
La funzione createThumbs prende quattro argomenti.
- $ pathToImages -> Il percorso della cartella il file immagine è poll Si potrebbe apparire qualcosa di simile a questo: / home / content / nomeutente / html / list / upload /
- $ fname -> Il nome del file: pic1.gif, johnny.jpg, ecc ...
- $ pathToThumbs -> Il percorso della cartella che si desidera l'immagine in miniatura per essere poll non vuoi che questo sia lo stesso percorso come $ pathToImages, perché l'immagine in miniatura avrà lo stesso nome come l'immagine originale.
- $ thumbWidth -> La larghezza che si desidera l'unghia del pollice per essere in pixel.
Una nota importante che vorrei fare è che questa funzione non ha nulla in atto, diversi da quelli l'estensione del file controllo, per assicurarsi che il file di immagine contengono nulla "maligno". Poiché il file createThumbs () con le opere sono già stati caricati si presume che i file sono stati adeguatamente analizzati.
La prima cosa createThumbs () non è chiamata pathinfo (). pathinfo () rompe le parti di un cammino in un array. Questo è utile per noi, perché abbiamo bisogno l'estensione del file per creare propriamente la miniatura. Avanti createThumbs () controlla per vedere se si tratta di un formato jpeg. Se il file originale è un jpeg createThumbs crea una nuova immagine basata su l'immagine originale con imagecreatefromjpeg (). Il passo successivo è quello di ottenere la larghezza e l'altezza di questa immagine (imagesx (), imagesy ()). Uso $ thumbWidth e il rapporto tra l'originale larghezza e l'altezza createThumbs () definisce la nuova larghezza e l'altezza della miniatura. L'utilizzo di questi nuovi rapporti createThumbs () crea un "vuoto" di immagine che sarà la stessa larghezza e l'altezza della miniatura con imagecreatetruecolor (). Imagecopyresized () è usato per ridimensionare l'immagine e salvarla in "bianco" appena creata. imagecopyresized () può sembrare che richiede un sacco di parametri, ma se si dà un'occhiata alla documentazione ed è davvero complicato che non. Ora che la miniatura esiste come una vera e propria immagine a colori tutte le createThumbs deve fare è convertire il file in un formato jpeg. Per effettuare questa operazione imagejpeg () è chiamato.
Ecco come funziona la funzione per i file JPEG. Ci sono differenze per minimo. E PNG. Gif.






















