...
✅ WEB- und WordPress-Nachrichten, Themen, Plugins. Hier teilen wir Tipps und beste Website-Lösungen.

Bilder für Website mit reSmush.it in PHP komprimieren

28

Veröffentlicht in PHP

Bilder machen Ihre Website schön und bieten den Besuchern eine bessere Benutzererfahrung. Bilder können jedoch auch die Leistung der Site beeinträchtigen und die Geschwindigkeit Ihrer Site wahnsinnig verlangsamen. Und wir alle wissen, dass langsamere Websites im Internet keinen Erfolg haben können.

In diesem Artikel zeigen wir Ihnen, wie Sie Bilder für Websites mit reSmush.it in PHP komprimieren. Mit diesem Service können Benutzer die Größe ihrer Website-Bilder reduzieren. Es hilft bei der Verbesserung der Seitengeschwindigkeit. Das reSmush.it ist ein kostenloses Bildkompressor-Tool. Ein Benutzer kann beliebig viele Bilder komprimieren. Es gibt keine solche Begrenzung für die Anzahl der Bilder.

Zum Zeitpunkt des Schreibens dieses Artikels komprimiert reSmush.it bisher mehr als 7 Milliarden Bilder, Tendenz steigend. Diese Zahl beweist, dass es sich bei den Benutzern um einen sehr beliebten Dienst handelt.

Einstieg

Lassen Sie uns ein einfaches Formular erstellen, in das der Benutzer das Bild hochladen kann. Nach dem Einreichen des Bildes senden wir das Bild mit PHP an die reSmush.it-Dienste und erhalten die optimierte Version unseres Bildes.

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

Hier haben wir eine Dateieingabe und eine Schaltfläche zum Senden hinzugefügt. Wir haben auch ein Attribut verwendet accept="image/*", mit dem Sie nur Bilddateien auswählen können.

Bilder für Website in PHP komprimieren

Jetzt müssen wir mit der reSmush.it-API interagieren. Wir werden einen Code schreiben, der die folgenden Schritte ausführt.

  • Bild auf unseren Server hochladen.
  • Senden Sie das hochgeladene Bild an den API-Endpunkt reSmush.it.
  • Erhält den Pfad eines optimierten Bildes.
  • Speichern Sie diese optimierte Version auf unserem Server, indem Sie das Originalbild ersetzen.

Bevor Sie fortfahren, stellen Sie sicher, dass Sie die cURL-Erweiterung auf Ihrem Server aktiviert haben.

<?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.";
}
?>

Im obigen Code habe ich den Qualitätswert auf ’80’ gesetzt, was empfohlen wird. Sie können diese Zahl auf mehr oder weniger anpassen. Wir speichern Bilder im uploadsVerzeichnis. In Ihrem Fall können Sie dieses Verzeichnis anpassen.

Ich hoffe, Sie verstehen, wie Sie mit reSmush.it Bilder für die Website in PHP komprimieren. Ich würde gerne Ihre Gedanken und Vorschläge im Kommentarbereich unten hören.

Zum Thema passende Artikel

Aufnahmequelle: artisansweb.net

Diese Website verwendet Cookies, um Ihre Erfahrung zu verbessern. Wir gehen davon aus, dass Sie damit einverstanden sind, Sie können sich jedoch abmelden, wenn Sie möchten. Annehmen Weiterlesen