Come comprimere le dimensioni dell’immagine durante il caricamento con PHP

Le immagini di alta qualità richiedono tempo per essere caricate sulla pagina Web in base al numero di immagini.

È possibile creare più dimensioni del file immagine durante il caricamento e utilizzare le immagini di bassa e alta qualità quando richiesto.

Quando si riducono le dimensioni di un’immagine, diminuisce anche la sua qualità.

Il miglior esempio di questo è WordPress, ogni volta che viene caricato un file immagine, genererà una dimensione diversa del file. Quelle immagini useranno nel tema secondo il requisito.

In questo tutorial, vi mostro come è possibile comprimere le dimensioni dell’immagine durante il caricamento con PHP.

Come comprimere le dimensioni dell'immagine durante il caricamento con PHP

Contenuto

  1. HTML
  2. PHP
  3. Conclusione

1. HTML

Crea un elemento <input type='file'> in <form> e invia il pulsante.

Codice completato

<form method='post' action='' enctype='multipart/form-data'> <input type='file' name='imagefile' > <input type='submit' value='Upload' name='upload'> </form>

2. PHP

Crea una directory images per archiviare i file immagine.

Funzione personalizzata

Crea una funzione compressImage() per comprimere immagini JPEG, PNG e GIF.

La funzione richiede 3 parametri –
1. Fonte
2. Destinazione
3. Qualità file

Chiama imagecreatefromjpeg($source), imagecreatefromgif($source) e imagecreatefrompng($source) per creare una nuova immagine in base al valore $info.

Eseguire imagejpeg() metodo per memorizzare l’immagine alla destinazione. Qui, il terzo parametro quality è facoltativo. Prende valore da 0 a 100 e il valore predefinito è 75.

Modulo invia

Imposta la posizione sulla directory images e controlla l’estensione del file. Se è valido, chiama la funzione compressImage() dove passa $_FILES,$location e 60.

Codice completato

<?phpif(isset($_POST)){ // Getting file name $filename = $_FILES; // Valid extension $valid_ext = array('png','jpeg','jpg'); // Location $location = "images/".$filename; // file extension $file_extension = pathinfo($location, PATHINFO_EXTENSION); $file_extension = strtolower($file_extension); // Check extension if(in_array($file_extension,$valid_ext)){ // Compress Image compressImage($_FILES,$location,60); }else{ echo "Invalid file type."; }}// Compress imagefunction compressImage($source, $destination, $quality) { $info = getimagesize($source); if ($info == 'image/jpeg') $image = imagecreatefromjpeg($source); elseif ($info == 'image/gif') $image = imagecreatefromgif($source); elseif ($info == 'image/png') $image = imagecreatefrompng($source); imagejpeg($image, $destination, $quality);}?>

3. Conclusione

Nell’esempio, ho memorizzato solo l’immagine compressa, non l’immagine di dimensione originale. È possibile memorizzare sia la versione delle immagini durante il caricamento.

Regola la qualità dell’immagine quando riduci le dimensioni.

Se hai trovato utile questo tutorial, non dimenticare di condividere.

Write a Comment

Il tuo indirizzo email non sarà pubblicato.