✅ Notícias, temas e plug-ins da WEB e do WordPress. Aqui compartilhamos dicas e as melhores soluções para sites.

Como compactar imagens usando a API ImageRecycle (o script PHP)?

48

ImageRecycle fornece APIs para adicionar imagem/pdf, compactá-los e baixá-los. Isso torna as coisas interessantes, então, basicamente, hoje em dia, quero diminuir as imagens para reduzir o espaço que elas ocupam no servidor VPS. ImageRecycle suporta a otimização das seguintes extensões de arquivo: JPEG/JPG, GIF, BMP, PNG, PDF.

Como compactar imagens usando a API ImageRecycle (o script PHP)?

reciclar imagem

Aqui está a documentação da API para adicionar uma nova imagem. POST/imagens

Exemplo:

  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>'

Se um arquivo local for especificado, você deverá usar a seguinte sintaxe:

  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>'

E aqui está a ajuda da equipe de suporte do ImageRecycle . Obrigado pelas respostas imediatas:

Se você deseja enviar uma imagem armazenada em seu servidor, não é uma simples consulta POST, você precisa enviar uma consulta POST com o tipo de conteúdo multipart/form-data.
Com curl, você pode fazer isso usando a opção -F em vez da opção -d.
Você também deve especificar com o parâmetro é um arquivo usando um @ antes do nome do arquivo.
Se você quiser mais informações, está documentado na página de manual do curl disponível online: http://curl.haxx.se/docs/manpage.html

Aqui está a linha de comando que você deve usar:

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

Você pode usar os parâmetros
– compression_type”:”lossy” ou compression_type”:”lossless” para compressão sem perdas ou com perdas
– “resize”:{“width”:100,”height”:100} para redimensionar se necessário a imagem, você pode especificar apenas com ou altura

Neste caso, o pedido seria:

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

Assim, podemos escrever um PHP Script, como seguir para otimizar as imagens locais (diminuir o tamanho do arquivo sem tocar nas dimensões ou imagens ou PDF ).

  1. POST a imagem/pdf local para o servidor ImageRecycle usando a API POST/images
  2. Renomeie a imagem/pdf local para ter um backup
  3. Baixe o arquivo compactado do ImageRecycle

Aqui está a captura de tela, certifique-se de substituir o app_key e app_seret.

Como compactar imagens usando a API ImageRecycle (o script PHP)?

imagerecycle-image-compression

E o servidor confirma essa otimização no painel [Histórico de otimização].

Como compactar imagens usando a API ImageRecycle (o script PHP)?

imagerecycle-image-compression-history

Eu tenho um test.jpg que é otimizado de 1,7 M a 1,6 M. Pode não ser muito e se eu escolher outras configurações, pode me dar mais economia (como redimensionar). [Vou escrever outro post sobre a revisão do ImageRecycle e de outros concorrentes, como o Imagefy.

O código fonte completo:

#!/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);
    }
  } 

Em seguida, você executou um loop bash para iterar todas as imagens/ PDF, o que deve fornecer economia instantânea.

Consegui economizar mais de 2 GB de espaço SSD no VPS usando o script acima.

Junte -se ao ImageRecycle e use o cupom IR-PARTNER-20 para ganhar 20% de desconto na primeira fatura, exclusivo para meus leitores!

Fonte de gravação: helloacm.com

Este site usa cookies para melhorar sua experiência. Presumiremos que você está ok com isso, mas você pode cancelar, se desejar. Aceitar Consulte Mais informação