Nwlapcug.com


Come creare miniature JPG con PHP

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.