Como compactar o tamanho da imagem durante o upload com PHP

imagens de alta qualidade levam tempo para carregar na página da web, dependendo do número de imagens.

você pode criar vários tamanhos do arquivo de imagem ao fazer o upload e usar as imagens de baixa e alta qualidade quando necessário.

ao reduzir o tamanho de uma imagem, também diminui sua qualidade.

o melhor exemplo disso é o WordPress, sempre que um arquivo de imagem é carregado, ele gerará um tamanho diferente do arquivo. Essas imagens serão usadas no tema de acordo com a exigência.

neste tutorial, mostro como você pode compactar o tamanho da imagem durante o upload com PHP.

Como Comprimir o tamanho da Imagem no Upload com PHP

Conteúdo

  1. HTML
  2. PHP
  3. Conclusão

1. HTML

crie um elemento <input type='file'> em <form> e envie o botão.

Código Concluído

<form method='post' action='' enctype='multipart/form-data'> <input type='file' name='imagefile' > <input type='submit' value='Upload' name='upload'> </form>

2. PHP

crie um diretório images para armazenar arquivos de imagem.

função personalizada

crie uma função compressImage() para compactar imagens JPEG, PNG e GIF.

a função leva 3 parâmetros –
1. Fonte
2. Destino
3. Qualidade do arquivo

ligue para imagecreatefromjpeg($source), imagecreatefromgif($source) e imagecreatefrompng($source) para criar uma nova imagem de acordo com o valor $info.

Execute imagejpeg() método para armazenar a imagem para o destino. Aqui, o terceiro parâmetro quality é opcional. Leva valor de 0-100 e o valor padrão é 75.

formulário enviar

Definir localização para images diretório e verificar a extensão do arquivo. Se for válido, chame a função compressImage() onde passe $_FILES, $locatione 60.

Código Concluído

<?phpif(isset($_POST)){ // Getting file name $filename = $_FILES; // Valid extension $valid_ext = array('png','jpeg','jpg'); // Location $location = "images/".$filename; // file extension $file_extension = pathinfo($location, PATHINFO_EXTENSION); $file_extension = strtolower($file_extension); // Check extension if(in_array($file_extension,$valid_ext)){ // Compress Image compressImage($_FILES,$location,60); }else{ echo "Invalid file type."; }}// Compress imagefunction compressImage($source, $destination, $quality) { $info = getimagesize($source); if ($info == 'image/jpeg') $image = imagecreatefromjpeg($source); elseif ($info == 'image/gif') $image = imagecreatefromgif($source); elseif ($info == 'image/png') $image = imagecreatefrompng($source); imagejpeg($image, $destination, $quality);}?>

3. Conclusão

no exemplo, armazenei apenas a imagem compactada, não a imagem de tamanho original. Você pode armazenar a versão das imagens durante o upload.

ajuste a qualidade da imagem ao reduzir o tamanho.

se você achou este tutorial útil, não se esqueça de compartilhar.

Write a Comment

O seu endereço de email não será publicado.