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.

Contenuto
- HTML
- PHP
- 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.