Un'anteprima è una copia di un'immagine che è stata ridotta proporzionalmente a una dimensione piccola così un utente può visualizzare più immagini sullo stesso schermo e ancora essere in grado di avere un'idea di ciò che ogni immagine assomiglia quando hanno visto nella sua dimensione originale. Se la versione di PHP è configurata con il supporto per la libreria GD, è possibile utilizzare le numerose funzioni predefinite per creare un'immagine da un file JPG, ridurne le dimensioni e salvarlo come una miniatura.
Istruzioni
1
Scrivere una funzione per creare le miniature. Prendere tre parametri per la funzione: il percorso dove sono memorizzati i file di immagine, il percorso in cui devono essere conservati i file di anteprima e la larghezza dell'immagine di anteprima. Ad esempio, digitare:
<? php
Function create_thumbnails ($percorso_immagine, $thumb_path, $thumb_width) {
2
Aprire la directory in cui sono archiviati i file di immagine. Aprire un ciclo per leggere ogni file nella directory, verificare che si tratta di un file JPG e poi elaborarlo. Ad esempio, digitare:
while (($file = readdir($directory))) {
$file_info = pathinfo($image_path, $file);
if (strtolower($file_info["extension"]) == "jpg") {
echo "Converting " . $image_file . " to thumbnail";
3
Memorizzare il percorso dell'immagine e nome file e il percorso miniatura e nome file per variabili per l'immagine in fase di elaborazione nel ciclo. Ad esempio, digitare:
$image_file = $image_path . $file;
$thumb_file = $thumb_path . $file;
4
Creare una nuova immagine da file di immagine utilizzando la funzione imagecreatefromjpeg e ottenere la larghezza corrente e l'altezza dell'immagine. Ad esempio, digitare:
$image = imagecreatefromjpeg($image_file);
$width = imagesx($image);
$height = imagesy($image);
5
Calcolare l'altezza della miniatura basata sulla larghezza della miniatura del passato come parametro alla funzione e mantenendo le dimensioni proporzionali. Ad esempio, digitare:
$new_height = floor($height * ($thumb_width / $width));
6
Creare un'immagine temporanea. Copiare l'immagine nell'immagine temporanea a partire alle coordinate 0,0,0,0 e scalare l'immagine in base alla larghezza corrente, miniatura larghezza, altezza corrente e altezza miniatura. Ad esempio, digitare:
$temp = imagecreatetruecolor($thumb_width, $new_height);
imagecopyresized($temp, $image, 0, 0, 0, 0, $thumb_width, $new_height, $width, $height);
7
Salvare l'anteprima nella cartella delle miniature. Ad esempio, digitare:
imagejpeg($temp, $thumb_file);
8
Generare un messaggio di errore se il file di immagine non era un file JPG. Completare il ciclo e chiudere open directory di immagini quando fatto. Ad esempio, digitare:
}
else {
echo $image_file . " is not a JPG image!";
}
}
closedir($directory);
}
9
Chiamare la funzione con i parametri appropriati per eseguire la conversione. Ad esempio, digitare:
create_thumbnails ("/ home/steve/images /", "/ home/steve/thumbs /", 100);
? >
Consigli & Avvertenze
- La versione di PHP deve avere supporto GD abilitato per utilizzare queste funzioni.