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

Wie komprimiert man Bilder mit der ImageRecycle-API (dem PHP-Skript)?

31

ImageRecycle bietet APIs zum Hinzufügen von Bildern/PDFs, zum Komprimieren und Herunterladen. Das macht die Sache interessant, also möchte ich heutzutage Bilder verkleinern, um den Speicherplatz zu reduzieren, den sie auf dem VPS-Server beanspruchen. ImageRecycle unterstützt die Optimierung der folgenden Dateierweiterungen: JPEG/JPG, GIF, BMP, PNG, PDF.

Wie komprimiert man Bilder mit der ImageRecycle-API (dem PHP-Skript)?

Bildrecycling

Hier ist die API-Dokumentation zum Hinzufügen eines neuen Bildes. POST /Bilder

Beispiel:

  curl -X POST 
    -d 'auth={"key":"your_api_key","secret":"your_api_secret"}' 
    -d 'url=<a class="vglnk" target="_blank" href="https://uploadbeta.com/share-image/2xw" rel="nofollow"><span>https</span><span>://</span><span>uploadbeta</span><span>.</span><span>com</span><span>/</span><span>share</span><span>-</span><span>image</span><span>/</span><span>2xw</span></a>' 
    -d 'params={"compression_type":"lossy"}' 
    '<a class="vglnk" target="_blank" href="https://api.imagerecycle.com/v1/images" rel="nofollow"><span>https</span><span>://</span><span>api</span><span>.</span><span>imagerecycle</span><span>.</span><span>com</span><span>/</span><span>v1</span><span>/</span><span>images</span></a>'

Wenn stattdessen eine lokale Datei angegeben wird, müssen Sie die folgende Syntax verwenden:

  curl -X POST 
    -F 'auth={"key":"your_api_key","secret":"your_api_secret"}' 
    -F 'file=@local_file.jpg' 
    -F 'params={"compression_type":"lossy"}' 
    '<a class="vglnk" target="_blank" href="https://api.imagerecycle.com/v1/images" rel="nofollow"><span>https</span><span>://</span><span>api</span><span>.</span><span>imagerecycle</span><span>.</span><span>com</span><span>/</span><span>v1</span><span>/</span><span>images</span></a>'

Und hier ist die Hilfe vom ImageRecycle- Supportteam. Danke für prompte Antworten:

Wenn Sie ein auf Ihrem Server gespeichertes Bild senden möchten, ist es keine einfache POST-Abfrage, Sie müssen eine POST-Abfrage mit dem Inhaltstyp multipart/form-data senden.
Mit curl können Sie dies tun, indem Sie die Option -F anstelle der Option -d verwenden.
Sie müssen auch angeben, dass es sich bei dem Parameter um eine Datei handelt, indem Sie ein @ vor dem Dateinamen verwenden.
Wenn Sie weitere Informationen wünschen, ist dies auf der Curl-Manpage dokumentiert, die online verfügbar ist: http://curl.haxx.se/docs/manpage.html

Hier ist die Befehlszeile, die Sie verwenden sollten:

curl -X POST -F ‚auth={"key":"your_api_key"","secret":"your_api_secret"}‘ -F ‚file=@the_file_to_send.png‘ -F ‚params={"compression_type":"lossy" }‘ ‚ https://api.imagerecycle.com/v1/images

Sie können die Parameter
– „compression_type“:“lossy“ oder „compression_type“:“lossless“ für verlustfreie oder verlustbehaftete Komprimierung
– „resize“:{„width“:100″, „height“:100} verwenden, um die Größe des Bildes bei Bedarf zu ändern kann nur mit oder Höhe angegeben werden

In diesem Fall wäre die Anfrage:

curl -X POST -F ‚auth={"key":"your_api_key"","secret":"your_api_secret"}‘ -F ‚file=@the_file_to_send.png‘ -F ‚params={"compression_type":"lossy" ,,resize":{„width“:100,,“height“:100} }‘ ‚ https://api.imagerecycle.com/v1/images

So können wir ein PHP-Skript wie folgt schreiben, um die lokalen Bilder zu optimieren (die Dateigröße verkleinern, ohne die Abmessungen oder Bilder oder PDF zu berühren ).

  1. POST das lokale Bild/PDF an den ImageRecycle -Server mithilfe der POST /images-API
  2. Benennen Sie das lokale Bild/PDF um, um ein Backup zu haben
  3. Laden Sie die komprimierte Datei von ImageRecycle herunter

Hier ist der Screenshot, stellen Sie sicher, dass Sie app_key und app_seret ersetzen.

Wie komprimiert man Bilder mit der ImageRecycle-API (dem PHP-Skript)?

imagerecycle-image-komprimierung

Und der Server bestätigt diese Optimierung im Bereich [Optimierungsverlauf].

Wie komprimiert man Bilder mit der ImageRecycle-API (dem PHP-Skript)?

imagerecycle-image-compression-history

Ich habe eine test.jpg, die von 1,7 M auf 1,6 M optimiert ist. Es ist möglicherweise nicht viel und wenn ich andere Einstellungen wähle, kann ich mehr sparen (z. B. Größenänderung). [Ich werde einen weiteren Beitrag über die Überprüfung von ImageRecycle und anderen Wettbewerbern wie Imagefy schreiben.

Der komplette Quellcode:

#!/usr/bin/php
<?php
// Author:  <a class="vglnk" target="_blank" href="https://helloacm.com" rel="nofollow"><span>https</span><span>://</span><span>helloacm</span><span>.</span><span>com</span></a>
  $key = "app_key";
  $secret = "app_secret";
  
  function ImageRecycle($img, $key, $secret) {  
    $cmd = "curl -X POST -F 'auth={"key":"$key","secret":"$secret"}' -F 'file=@$img' -F 'params={"compression_type":"lossy"}' '<a class="vglnk" target="_blank" href="https://api.imagerecycle.com/v1/images" rel="nofollow"><span>https</span><span>://</span><span>api</span><span>.</span><span>imagerecycle</span><span>.</span><span>com</span><span>/</span><span>v1</span><span>/</span><span>images</span></a>'";
    echo $cmd. "n";    
    $rtn = json_decode(shell_exec($cmd), true);
    var_dump($rtn);
    $err = 201;
    if (isset($rtn['errCode'])) {
      $err = (integer)$rtn['errCode'];
    }
    $id = 0;
    if (isset($rtn['id'])) {
      $id = (integer)$rtn['id'];
    }
    if (($err == 201) || ($id > 0)) {
      $optimized_url = $rtn['optimized_url'];
      if (strlen($optimized_url)) {
        echo "Renaming original $img to ${img}_original n";
        rename($img, $img."_original");
      }
      echo "Downloading $optimized_url ...n";
      $optimized_content = file_get_contents($optimized_url);
      echo "Saving optimised to $img ...n";
      file_put_contents($img, $optimized_content);      
    }
  }  
  
  foreach (array_slice($argv, 1) as $img) {
    if (!file_exists($img)) {
      echo $img. " not found.n";
    } else {
      ImageRecycle($img, $key, $secret);
    }
  } 

Dann haben Sie eine Bash-Schleife ausgeführt, um alle Bilder/ PDF zu durchlaufen, wodurch Sie sofort speichern sollten.

Ich habe es geschafft, mit dem obigen Skript über 2 GB SSD -Speicherplatz auf VPS zu sparen.

Treten Sie ImageRecycle bei und verwenden Sie den Gutschein IR-PARTNER-20, um 20 % Rabatt auf die erste Rechnung zu erhalten, exklusiv für meine Leser!

Aufnahmequelle: helloacm.com

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