Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/02/2009, 16:02
Avatar de kimmy
kimmy
 
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 9 meses
Puntos: 15
Pregunta Error al redimensionar imagenes

Hola:

Estoy tratando de redimensionar las imagenes que los usuarios cargan por medio de la página, pero me da estos errores porque no lee la imagen. Esta si se guarda pero el código no la lee. Este es mi código:

<?
session_start();
$_SESSION['xxxx'] = $xxxxxx;
// incluye los archivos de función para esta aplicación
require_once("funciones.php");
$fecha = $_POST['fecha'];
$tienda = $_POST['tienda'];
$producto = $_POST['producto'];

$conexion = db_connect();
if (!$conexion)
return 0;

//empieza la redimension, tomamos la imagen temporal subida
$archivo = getimagesize($_FILES['foto']['tmp_name']);
$archivo = explode('.', stripslashes($_FILES['foto']['tmp_name']));
unset($archivo[count($archivo)-1]);
$archivo = implode('.', $archivo);
switch ($archivo[2]) {
case 1:
$imagen = imagecreatefromgif($_FILES['foto']['tmp_name']); break;
case 2:
$imagen = imagecreatefromjpeg($_FILES['foto']['tmp_name']); break;
case 3:
$imagen = imagecreatefrompng($_FILES['foto']['tmp_name']); break;
// etcétera //
}

$original = $imagen;
$original_w = imagesx($original);
$original_h = imagesy($original);

$max = 175; //AQUI PONES EL TAMAÑO DE LA IMAGEN A LO QUE QUIERAS

if($original_w>$original_h) {
$muestra_w = $max;
$muestra_h = intval(($original_h/$original_w)*$max);
} else {
$muestra_w = intval(($original_w/$original_h)*$max);
$muestra_h = $max;
}

$muestra = imagecreatetruecolor($muestra_w,$muestra_h);

$muestra = imagecreatetruecolor($muestra_w,$muestra_h);

imagecopyresampled($muestra,$original,0,0,0,0, $muestra_w,$muestra_h,$original_w,$original_h);
imagedestroy($original); // aqui destruyo el original, pues no hace falta ya

// me verifica haya sido cargado el archivo
$ruta_destino = "../fotos/";
$namefinal= trim ($_FILES['foto']['tmp_name']);//quito espacios finales o al principio del nombre si los hay
$namefinal= ereg_replace (" ", "", $namefinal);//quito los espacios entre las palabtas del nombre si los hay
$uploadfile= $ruta_destino . $namefinal;
if(imagejpeg($muestra,$uploadfile,'100')) { // se coloca en su lugar final
echo "<b>Upload exitoso!. Datos:</b><br>";
echo "Nombre: <i><a href=\"".$uploadfile."\">".$_FILES['foto']['tmp_name']."</a></i><br>";
echo "Tipo MIME: <i>".$_FILES['foto']['type']."</i><br>";
echo "Peso: <i>".$_FILES['foto']['size']." bytes</i><br>";
echo "<br><hr><br>";
}

//Insercion de los datos, ojo la imagen se graba con su nombre original en la tabla (es un campo varchar)
$sql_ins = "INSERT INTO products (fecha, tienda, producto, sku) " .
"VALUES ('$fecha', '$tienda', '$producto', '$archivo')";
$res = mysql_query($sql_ins) or die ( "Error MySQL dice: " . mysql_error() );
?>

Me da los siguientes errores:

Warning: imagesx(): supplied argument is not a valid Image resource in C:\AppServ\www\phpMyAdmin\xxxx.php on line 44

Warning: imagesy(): supplied argument is not a valid Image resource in C:\AppServ\www\phpMyAdmin\xxxx.php on line 45

Warning: Division by zero in C:\AppServ\www\phpMyAdmin\xxxx.php on line 53

Warning: imagecreatetruecolor() [function.imagecreatetruecolor]: Invalid image dimensions in C:\AppServ\www\phpMyAdmin\xxxx.php on line 57

Warning: imagecreatetruecolor() [function.imagecreatetruecolor]: Invalid image dimensions in C:\AppServ\www\phpMyAdmin\xxxx.php on line 59

Warning: imagecopyresampled(): supplied argument is not a valid Image resource in C:\AppServ\www\phpMyAdmin\xxxx.php on line 61

Warning: imagedestroy(): supplied argument is not a valid Image resource in C:\AppServ\www\phpMyAdmin\xxxx.php on line 62

Warning: imagejpeg(): supplied argument is not a valid Image resource in C:\AppServ\www\phpMyAdmin\xxxx.php on line 69

Por favor me pueden ayudar a saber que error tengo en el código.

Gracias