Postado em PHP
Você está enfrentando um problema de velocidade do site? Você deve então considerar a otimização das imagens do seu site. Imagens pesadas tornam a velocidade do site lenta. Então, qual é a solução? Simples. Use o TinyPNG para compactar as imagens. Neste post, mostro como compactar imagens usando o TinyPNG.
Eu construí um script PHP que compacta as imagens em massa usando a API TinyPNG. Use-o e verifique o desempenho do seu site. Vai ser melhor já que estamos reduzindo o tamanho da imagem.
Para começar, você precisa obter uma chave API registrando-se com seu nome e endereço de e-mail.
Presumo que você tenha um grande número de imagens que precisam ser compactadas. Portanto, crie duas pastas ‘descompactado’ e ‘compactado’. Mantenha todas as suas imagens em uma pasta ‘descompactada’. Armazenaremos todas as imagens otimizadas dentro da pasta ‘compactada’ na hora.
Abra o prompt de comando no diretório raiz do seu projeto e execute o comando:
composer require tinify/tinify
Ele instalará a biblioteca TinyPNG em seu projeto para que você possa chamar suas APIs.
Nota: TinyPNG permite compactar 500 imagens grátis por mês. Por mais de 500 imagens, você precisa pagar pelo serviço.
Após a instalação da biblioteca, crie o index.php
arquivo e adicione o código abaixo nele.
<?php
set_time_limit(0);
require_once("vendor/autoload.php");
TinifysetKey("TINYPNG_API_KEY");
$dir = 'uncompressed/';
$images = scandir($dir);
$images = array_diff($images, array('.', '..'));
foreach ($images as $image) {
$source = TinifyfromFile($dir.$image);
$source->toFile("compressed/".$image);
}
echo "All images are compressed.";
Substitua o espaço reservado TINYPNG_API_KEY pela sua chave real. Aqui, estamos armazenando imagens otimizadas em uma pasta ‘compactada’. Se você deseja substituir as imagens originais pelas otimizadas, altere a linha abaixo
$source->toFile("compressed/".$image);
Com
$source->toFile($dir.$image);
É isso! Vá em frente e execute seu URL no navegador. Ele comprimirá suas imagens e o desempenho do seu site deverá melhorar.
Espero que você entenda como compactar imagens usando a API TinyPNG em PHP. Eu gostaria de ouvir seus pensamentos e sugestões na seção de comentários abaixo.
Artigos relacionados
- Como otimizar imagem ao carregar em PHP
- Carregar e compactar várias imagens em PHP
- Um Guia para Upload e Compactação de Imagens no Laravel