Tecnología

Inicio

Cómo crear imágenes en miniatura JPG con PHP

Una miniatura es una copia de una imagen que ha sido reducido proporcionalmente a un tamaño pequeño por lo que un usuario puede visualizar múltiples imágenes en la misma pantalla y aún así ser capaz de tener una idea de lo que cada imagen se ve como cuando se ve en su tamaño original. Si su versión de PHP está configurado con el soporte para la biblioteca GD, puede usar las muchas funciones integradas para crear una imagen desde un archivo JPG, reducir su tamaño y guardarlo como una imagen en miniatura.

Instrucciones

1 Escribe una función para crear las miniaturas. Tomar tres parámetros a la función: la ruta donde se almacenan los archivos de imagen, la ruta donde se almacenan los archivos de miniaturas y la anchura de la imagen en miniatura. Por ejemplo, escriba:

<? Php

create_thumbnails de función ($ image_path, thumb_path $, $ thumb_width) {

2 Abra el directorio donde se almacenan los archivos de imagen. Abrir un bucle para leer cada archivo en el directorio, comprobar para asegurarse de que es un archivo JPG y luego procesarlo. Por ejemplo, escriba:

while (($file = readdir($directory))) {

$ File_info = pathinfo ($ image_path, $ archivo);

si (strtolower ($ file_info [ "extensión"]) == "jpg") {

echo "Conversión". $ Image_file. "A la de miniaturas";

3 Almacenar la ruta de la imagen y el nombre de archivo y la ruta de acceso y nombre del archivo en miniatura a las variables para la imagen que se procesa en el circuito. Por ejemplo, escriba:

$image_file = $image_path . $file;

$ = $ Thumb_file thumb_path. $ file;

4 Crear una nueva imagen desde el archivo de imagen utilizando la función imagecreatefromjpeg y obtener la anchura y la altura actual de la imagen. Por ejemplo, escriba:

$image = imagecreatefromjpeg($image_file);

$ Width = imagesx ($ imagen);

$ ($ Imagen) height = imagesy;

5 Calcular la altura de la imagen en base a la anchura de la imagen se pasa como parámetro a la función y de mantenimiento de las dimensiones proporcional. Por ejemplo, escriba:

$new_height = floor($height * ($thumb_width / $width));

6 Crear una imagen temporal. Copiar la imagen en la imagen temporal a partir de las coordenadas 0,0,0,0 y escalar la imagen en función de la anchura actual, ancho miniatura, altura actual y la altura de miniaturas. Por ejemplo, escriba:

$temp = imagecreatetruecolor($thumb_width, $new_height);

imagecopyresized ($ temp, la imagen $, 0, 0, 0, 0, $ thumb_width, new_height $, $ anchura, altura $);

7 Guardar la imagen en miniatura en la carpeta de imágenes en miniatura. Por ejemplo, escriba:

imagejpeg($temp, $thumb_file);

8 Generar un mensaje de error si el archivo de imagen no era un archivo JPG. Terminar el bucle y cerrar el directorio abierto de imágenes cuando haya terminado. Por ejemplo, escriba:

}

else {

echo $ image_file. "No es una imagen JPG!";

}

}

closedir ($ directorio);

}

9 Llame a la función con los parámetros adecuados para realizar la conversión. Por ejemplo, escriba:

create_thumbnails ( "/ home / Steve / images /", "/ home / Steve / thumbs /", 100);

?>

Consejos y advertencias

  • Su versión de PHP debe tener el apoyo GD habilitado para usar estas funciones.