Ajuda para redimensionar uma imagem se me servir não sei adaptar.

  • Autor Autor ggber
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
ggber

ggber

Delta
Verificación en dos pasos activada
Hola foreros bueno requiero de su necesaria ayuda, tengo el siguiente PHP que me redimensiona las imagenes a un tamaño de 100x100 ahora lo que requiero es adaptarlo a mi programación normal donde suben imagenes con un titulo, etc. Pero no logro integrar el redimensionar alguién me pueda dar una mano.

Inserir CODE, HTML ou PHP:
<?php
function urls_amigables($url) { 

// Tranformamos todo a minusculas 

$url = strtolower($url); 

//Rememplazamos caracteres especiales latinos 

$find = array('á', 'é', 'í', 'ó', 'ú', 'ñ'); 
$repl = array('a', 'e', 'i', 'o', 'u', 'n'); 
$url = str_replace ($find, $repl, $url); 

// Añaadimos los guiones 

$find = array(' ', '&', '\r\n', '\n', '+'); 
$url = str_replace ($find, '-', $url); 

// Eliminamos y Reemplazamos demás caracteres especiales 

$find = array('/[^a-z0-9\-<>]/', '/[\-]+/', '/<[^>]*>/'); 
$repl = array('', '-', ''); 
$url = preg_replace ($find, $repl, $url); 
return $url; 
}

//makeThumb('06.jpg');
function makeThumb( $filename , $thumbSize=100 ){
	global $max_width, $max_height;

	$srcFile = $filename;
	$thumbFile = 'th_'.$filename;

	$type = substr( $filename , strrpos( $filename , '.' )+1 );
	switch( $type ){
		case 'jpg' : case 'jpeg' :
			$src = imagecreatefromjpeg( $srcFile ); break;
		case 'png' :
			$src = imagecreatefrompng( $srcFile ); break;
		case 'gif' :
			$src = imagecreatefromgif( $srcFile ); break;
	}

	// Get dimensions of the src image.
	list($oldW, $oldH) = getimagesize($filename);

	// Work out what offset to use
	if ($oldH < $oldW) {
		$offH = 0;
		$offW = ($oldW-$oldH)/2;
		$oldW = $oldH;
	}elseif ($oldH > $oldW){
		$offW = 0;
		$offH = ($oldH-$oldW)/2;
		$oldH = $oldW;
	}else{
		$offW = 0;
		$offH = 0;
	}

	// Resample the image into the new dimensions.
	$new = imagecreatetruecolor(100, 100);
	imagecopyresampled($new, $src, 0, 0, $offW, $offH, 100, 100, $oldW, $oldH);
	switch( $type ){
		case 'jpg' : case 'jpeg' :
			$src = imagejpeg( $new , $thumbFile ); break;
		case 'png' :
			$src = imagepng( $new , $thumbFile ); break;
		case 'gif' :
			$src = imagegif( $new , $thumbFile ); break;
	}
	@imagedestroy( $new );
	@imagedestroy( $src );
}
?>
<?
if($_POST[enviar]) {
$amigable = urls_amigables($_POST[titulo]);
if($_FILES[imagen]) {
$name = $_FILES[imagen]['name'];      
$extension = explode(".",$name);
$extension = end($extension);
$nameImagen = "".$amigable."_mini.".$extension."";
$peso = $_FILES[imagen]['size'];  
$tmp  = $_FILES[imagen]['tmp_name'];  
$type = $_FILES[imagen]['type'];  
if(is_uploaded_file($tmp)) {
$extension = explode(".",$name);
$num = count($extension)-1;
$extension2 = $extension[$num];
move_uploaded_file($tmp, "".$nameImagen);
}
}
?><br />
<br />
Se publico correctamente :)<br />
<br />
<?
}
?>

<form name="form1" method="post" action="demo.php" enctype="multipart/form-data" onsubmit="return validacion()">
<input name="titulo" type="text" id="titulo" size="70"><br />
<input name="imagen" type="file" id="imagen" />
<br />
<input name="enviar" type="submit" class="button" id="enviar" value="Subir Imagen">
</form>
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
Juntando algunos codigos por ahii hice esto, es lo que necesitas?:

PHP:
<?php 
function cambiar_tamanio($ruta_imagen = '')
{
	$tipo = substr( $ruta_imagen , strrpos( $ruta_imagen , '.' )+1);

	if($tipo == 'jpeg')
	{
		$imagen_original = imagecreatefromjpeg($ruta_imagen);
	}elseif($tipo == 'jpg')
	{
		$imagen_original = imagecreatefromjpeg($ruta_imagen);
	}elseif($tipo == 'png')
	{
		$imagen_original = imagecreatefrompng($ruta_imagen);
	}elseif($tipo == 'gif')
	{
		$imagen_original = imagecreatefromgif($ruta_imagen);
	}
	
	$ancho_original = imagesx($imagen_original);
	$alto_original = imagesy($imagen_original);

	$ancho_final = 250; //ancho final de la imagen
	$alto_final = ($ancho_final / $ancho_original) * $alto_original; //alto final es proporcional al ancho de la imagen

	$imagen_redimensionada = imagecreatetruecolor($ancho_final, $alto_final);

	imagecopyresampled($imagen_redimensionada, $imagen_original, 0, 0, 0, 0, $ancho_final, $alto_final, $ancho_original, $alto_original);

	//Guardo la imagen ya redimensionada
	
	
	if($tipo == 'jpeg')
	{
		imagejpeg($imagen_redimensionada, 'th_'.$ruta_imagen);
		
	}elseif($tipo == 'jpg')
	{
		imagejpeg($imagen_redimensionada, 'th_'.$ruta_imagen);
	}elseif($tipo == 'png')
	{
		imagepng($imagen_redimensionada, 'th_'.$ruta_imagen);
	}elseif($tipo == 'gif')
	{
		imagegif($imagen_redimensionada, 'th_'.$ruta_imagen);
	}
	imagedestroy($imagen_original);
	imagedestroy($imagen_redimensionada);

		
	
}
    $status = '';
    if ($_POST['action'] == 'upload') {
        // obtenemos los datos del archivo
        $tamano = $_FILES['archivo']['size'];
        $tipo = $_FILES['archivo']['type'];
        $archivo = $_FILES['archivo']['name'];
        $prefijo = substr(md5(uniqid(rand())),0,6);
       
        if ($archivo != '') {
            $destino =  $prefijo.'_'.$archivo;
            if (copy($_FILES['archivo']['tmp_name'],$destino)) {
				cambiar_tamanio($prefijo.'_'.$archivo);
				if(file_exists('th_'.$prefijo.'_'.$archivo))
				{
					unlink($prefijo.'_'.$archivo); //comentar linea parar mantener ambos original y redimensionado
					$status = 'Archivo subido: <b>'.'th_'.$prefijo.'_'.$archivo.'</b>';
				}
			} else {
                $status = 'Error al subir el archivo';
            }
        } else {
            $status = 'Error al subir archivo';
        }
    }
	
	
	
	echo $status.'<br />';
?>


    <form action="" method="post" enctype="multipart/form-data">
      <input name="archivo" type="file" size="35" />
      <input name="enviar" type="submit" value="Upload File" />
      <input name="action" type="hidden" value="upload" />     
    </form>

Espero te sirva, saludos 😉
 
Cual es el objetivo de redimensionar la imagen?
Por que no usas timthumb?
 
Voltar
Topo