Publicidad

Redimensionar imágenes desde PHP


Por Alex el 18/05/2020 , Comentar el artículo

Comparte este artículo:      




Os dejo un script en github para redimensionar imágenes desde código PHP.


El porcentaje a poner para redimensionar va de 0 a 1 ... por ejemplo 0.5.

Pego aquí el código un poco comentado.

<?php

	# usage:  php resize_images.php 0.5

	$filename = '';

	# Directorio donde estan la imagenes a redimensionar
	$directorio_in = dirname(__FILE__) . "/in/";

	# Directorio de salida
	$directorio_out = dirname(__FILE__) . "/out/";

	# Porcentaje que queremos reducir, se pasa como parametro
	$porcentaje = $argv[1];

	# Obtenemos todos los ficheros del directorio de entrada
	$files = scandir( $directorio_in);

	# Si el directori de salida no existe lo creamos
	if ( !file_exists( $directorio_out))
	{
	    mkdir( $directorio_out, 0764, true);
	}

	# Recorremos el array de ficheros del directorio in
	foreach ($files as $f)
	{

		$filename = $directorio_in."/".$f;

		# Miramos si el fichero es una imagen
		$mine_type = mime_content_type( $filename);

		# Y si es una imagen le pasamos el proceso de redimension
		if ( $mine_type == "image/jpeg")
		{

			# Obtenemos las medidas de la imagen
			list($width, $height) = getimagesize($filename);

			# Escalamos la medida al tanto por ciento que le pasamos
			$newwidth = $width * $porcentaje;
			$newheight = $height * $porcentaje;


			# Redimensionamos la imagen
			$thumb = imagecreatetruecolor($newwidth, $newheight);
			$source = imagecreatefromjpeg($filename);
			imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);

			# Grabanos en disco
			$file = pathinfo( $filename);
			$new_filename = $file['filename']."_p.".$file['extension'];

			# Creamos la nueva imagen
			imagejpeg($thumb, $directorio_out.$new_filename);

			echo $directorio_out.$new_filename."\n";

		}

	}



Y esto es todo, y feliz programming
Saludos
Alex.



Si te ha gustado el artículo compartelo en:      



También puede interesarte:

Conectar a MySql desde PHP a través de tunel SSH

Conectar a MySql desde PHP a través de tunel SSH

Por Alex, el 06/02/2023

Mostrar la rama actual de git en la página principal en PHP

Mostrar la rama actual de git en la página principal en PHP

Por Alex, el 12/12/2022

Error en codeigniter y php 8 CI_Session_files_driver

Error en codeigniter y php 8 CI_Session_files_driver

Por Alex, el 07/12/2022

Instalar Xampp en Linux

Instalar Xampp en Linux

Por Alex, el 02/11/2022

Enviar e-mails con plantillas en Codeigniter 4

Enviar e-mails con plantillas en Codeigniter 4

Por Alex, el 21/10/2022

Enviar emails desde Codeigniter 4

Enviar emails desde Codeigniter 4

Por Alex, el 17/10/2022


Añadir un comentarios:

Nombre:
Email: (no se publica el email)




SIGUENOS EN

ARCHIVO

Publicidad

.