Cómo comprimir el tamaño de la imagen mientras se carga con PHP

Las imágenes de alta calidad tardan en cargarse en la página web dependiendo del número de imágenes.

Puede crear varios tamaños del archivo de imagen al cargar y usar las imágenes de baja y alta calidad cuando sea necesario.

Al reducir el tamaño de una imagen, también disminuye su calidad.

El mejor ejemplo de esto es WordPress, cada vez que se carga un archivo de imagen, generará un tamaño diferente del archivo. Esas imágenes se utilizarán en el tema de acuerdo con los requisitos.

En este tutorial, muestro cómo puede comprimir el tamaño de la imagen mientras carga con PHP.

Cómo Comprimir el tamaño de la Imagen al Cargar con PHP

Contenido

  1. HTML
  2. PHP
  3. Conclusión

1. HTML

Crea un elemento <input type='file'> en <form> y el botón enviar.

Código completado

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

2. PHP

Crea un directorio images para almacenar archivos de imagen.

Función personalizada

Cree una función compressImage() para comprimir imágenes JPEG, PNG y GIF.

La función toma 3 parámetros –
1. Fuente
2. Destino
3. Calidad de archivo

Llame a imagecreatefromjpeg($source), imagecreatefromgif($source) y imagecreatefrompng($source) para crear una nueva imagen de acuerdo con el valor $info.

Ejecutar el método imagejpeg() para almacenar la imagen en el destino. Aquí, el tercer parámetro quality es opcional. Toma valor de 0 a 100 y el valor predeterminado es 75.

Enviar formulario

Establezca la ubicación en el directorio images y verifique la extensión del archivo. Si es válido, llame a la función compressImage() donde pase $_FILES,$location y 60.

Código completado

<?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. Conclusión

En el ejemplo, almacené solo la imagen comprimida, no la imagen de tamaño original. Puede almacenar la versión de las imágenes mientras carga.

Ajuste la calidad de imagen al reducir el tamaño.

Si te ha parecido útil este tutorial, no olvides compartirlo.

Write a Comment

Tu dirección de correo electrónico no será publicada.