✅ Notizie, temi, plugin WEB e WordPress. Qui condividiamo suggerimenti e le migliori soluzioni per siti web.

Comprimi le immagini per il sito web utilizzando reSmush.it in PHP

33

Inserito in PHP

Le immagini rendono il tuo sito web bello e aggiungono una migliore esperienza utente per i visitatori. Tuttavia, le immagini possono anche influenzare le prestazioni del sito e rallentare la velocità del tuo sito. E sappiamo tutti che i siti web più lenti non possono avere successo su Internet.

In questo articolo, ti mostriamo come comprimere le immagini per i siti Web utilizzando reSmush.it in PHP. Utilizzando questo servizio gli utenti possono ridurre le dimensioni delle immagini del proprio sito web. Aiuterà a migliorare la velocità della pagina. reSmush.it è uno strumento gratuito per la compressione delle immagini. Un utente può comprimere tutte le immagini che desidera. Non esiste un tale limite al numero di immagini.

Al momento della stesura di questo articolo, reSmush.it comprime finora più di 7 miliardi di immagini e continua a contare. Questo numero dimostra che è un servizio abbastanza popolare tra gli utenti.

Iniziare

Creiamo un semplice form dove l’utente può caricare l’immagine. Dopo aver inviato l’immagine, utilizzando PHP invieremo l’immagine ai servizi reSmush.it e riceveremo la versione ottimizzata della nostra immagine.

<form method="post" enctype="multipart/form-data">
    <p><input type="file" name="image" accept="image/*" /></p>
    <input type="submit" name="submit" value="Submit">
</form>

Qui abbiamo aggiunto un input di file e un pulsante di invio. Abbiamo anche utilizzato un attributo accept="image/*"che consente di selezionare solo file di immagine.

Comprimi immagini per siti Web in PHP

Ora dobbiamo interagire con l’API di reSmush.it. Stiamo per scrivere un codice che esegue i seguenti passaggi.

  • Carica l’immagine sul nostro server.
  • Invia l’immagine caricata all’endpoint API di reSmush.it.
  • Riceve il percorso di un’immagine ottimizzata.
  • Archivia questa versione ottimizzata sul nostro server sostituendo l’immagine originale.

Prima di procedere assicurati di aver abilitato l’estensione cURL sul tuo server.

<?php
if (isset($_POST['submit'])) {
  
    //allowed file types
    $arr_file_types = ['image/png', 'image/gif', 'image/jpg', 'image/jpeg'];
  
    if (!(in_array($_FILES['image']['type'], $arr_file_types))) {
  
        die('Only image is allowed!');
    }
  
    if (!file_exists('uploads')) {
        mkdir('uploads', 0777);
    }
  
    move_uploaded_file($_FILES['image']['tmp_name'], 'uploads/'. $_FILES['image']['name']);
  
    // optimize image using reSmush.it
    $file = getcwd(). '/uploads/'. $_FILES['image']['name'];
    $mime = mime_content_type($file);
    $info = pathinfo($file);
    $name = $info['basename'];
    $output = new CURLFile($file, $mime, $name);
    $data = array(
        "files" => $output,
    );
  
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, 'http://api.resmush.it/?qlty=80');
    curl_setopt($ch, CURLOPT_POST,1);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    $result = curl_exec($ch);
    if (curl_errno($ch)) {
       $result = curl_error($ch);
    }
    curl_close ($ch);
  
    $arr_result = json_decode($result);
  
    // store the optimized version of the image
    $ch = curl_init($arr_result->dest);
    $fp = fopen(getcwd(). '/uploads/'. $name, 'wb');
    curl_setopt($ch, CURLOPT_FILE, $fp);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_exec($ch);
    curl_close($ch);
    fclose($fp);
  
    echo "File uploaded successfully.";
}
?>

Nel codice sopra, ho impostato il valore della qualità su "80", che è consigliato. Puoi regolare questo numero su più o meno. Stiamo memorizzando le immagini all’interno della uploadsdirectory. Nel tuo caso, puoi modificare questa directory.

Spero che tu capisca come comprimere le immagini per il sito web in PHP usando reSmush.it. Mi piacerebbe sentire i tuoi pensieri e suggerimenti nella sezione commenti qui sotto.

articoli Correlati

Fonte di registrazione: artisansweb.net

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More