Ver Mensaje Individual
  #3 (permalink)  
Antiguo 03/10/2012, 05:33
albertusphp
 
Fecha de Ingreso: octubre-2011
Ubicación: Valencia
Mensajes: 18
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: Problemas con imagecreatefromjpeg

No me sale ningun error, directamente la pantalla se me queda en blanco...
la imagen la sube correctamente al servidor, el problema es al querer redimensionarla tengo que usar imagecreatefromjpeg y ahi da el problema
El server lo tengo configurado en: upload_max_filesize 16M

Código:
$max=3500000;
				$filesize = $_FILES['img1']['size'];
				$filename = trim($_FILES['img1']['name']);
				$filename= limpiar_caracteres_especiales($filename);
				
				$raza=sacaraza($animal, $raza);
			if($filesize < $max)
			{
				if($filesize > 0)
				{
						if((ereg(".jpg", $filename)) || (ereg(".gif", $filename)) || (ereg(".JPG", $filename))|| (ereg(".GIF", $filename)))
						{
							
							
							$sql="INSERT INTO animales(usuario, animal, raza, nombre, descripcion, foto, fecha) VALUES('$usuario', '$animal', '$raza', '$nombre', '$descripcion', '$filename', NOW())";
				
								$resultado=mysql_query($sql);
								
								$rs = mysql_query("SELECT @@identity AS id");
								if ($row = mysql_fetch_row($rs)) 
								{
								$id = trim($row[0]);
								}
								$carpeta= $id;
								$directorio="imagenes/$carpeta/";
								mkdir ($directorio);
								$uploaddir = "$directorio";
								$uploadfile = $uploaddir . $filename;
								
								
								
							if (move_uploaded_file($_FILES['img1']['tmp_name'], $uploadfile)) 
							{
								print("Archivo subido correctamente");
								
									if((ereg(".jpg", $filename))|| (ereg(".JPG", $filename)))
									{
										$img_origen = imagecreatefromjpeg($uploadfile);
										
										if(imagesx($img_origen)>500)
										{
											$redimensionado=reduceimagenjpg($uploadfile);
										}	
										if(imagesx($img_origen)>250)
										{
											$directorio="imagenes/$carpeta/medio/";
											mkdir ($directorio);
											$uploaddir = "$directorio";
											$nuevaruta = $uploaddir . $filename;
											$redimensionado1=mediajpg($uploadfile, $nuevaruta);
										}	
										else
										{
											$directorio="imagenes/$carpeta/medio/";
											mkdir ($directorio);
											$uploaddir = "$directorio";
											$nuevaruta = $uploaddir . $filename;
											move_uploaded_file($_FILES['img1']['tmp_name'], $uploadfile);
										}
										if(imagesx($img_origen)>160)
										{
											$directorio="imagenes/$carpeta/mini/";
											mkdir ($directorio);
											$uploaddir = "$directorio";
											$nuevaruta = $uploaddir . $filename;
											$redimensionado1=miniaturajpg($uploadfile, $nuevaruta);
										}
										else
										{
											$directorio="imagenes/$carpeta/mini/";
											mkdir ($directorio);
											$uploaddir = "$directorio";
											$nuevaruta = $uploaddir . $filename;
											move_uploaded_file($_FILES['img1']['tmp_name'], $uploadfile);
										}
									}
									else if((ereg(".gif", $filename))|| (ereg(".GIF", $filename)))
									{
										$img_origen = imagecreatefromgif($uploadfile);
										
										if(imagesx($img_origen)>500)
										{
										$redimensionado=reduceimagengif($uploadfile);
										}
										if(imagesx($img_origen)>250)
										{
											$directorio="imagenes/$carpeta/medio/";
											mkdir ($directorio);
											$uploaddir = "$directorio";
											$nuevaruta = $uploaddir . $filename;
											$redimensionado1=mediajpg($uploadfile, $nuevaruta);
										}	
										if(imagesx($img_origen)>160)
										{
											$directorio="imagenes/$carpeta/mini/";
											mkdir ($directorio);
											$uploaddir = "$directorio";
											$nuevaruta = $uploaddir . $filename;
											$redimensionado1=miniaturagif($uploadfile, $nuevaruta);
										}
									}
									
								if (!$resultado) 
								{
									die('Fallo en la insercion del animal en la Base de Datos: ' . mysql_error());
									?>
									<form action="index.php" method="post">
				
									<input type="submit" value="Volver" />
									</form>
									<?
								}
								else
								{
									echo "Enhorabuena, el animal ha sido correctamente añadido";
									?>
									<form action="index.php" method="post">
				
									<input type="submit" value="Volver" />
									</form>
									<?
								}
							} 
							else 
							{
								print("Error de conexi&oacute;n con el servidor.");
								?>
								<form action="index.php" method="post">
				
								<input type="submit" value="Volver" />
								</form>
								<?
							}
						} 
						else
						{
							print("Sólo se permiten imágenes en formato jpg. y gif., no se ha podido adjuntar.");
							?>
							<form action="index.php" method="post">
				
							<input type="submit" value="Volver" />
							</form>
							<?
						}
					
				}
				else 
				{
					print("<br><br>Campo vac&iacute;o, no ha seleccionado ninguna imagen principal");
					?>
					<form action="index.php" method="post">
				
					<input type="submit" value="Volver" />
					</form>
					<?
				}
			}
			else 
			{
				print("<br><br>La imagen que ha intentado adjuntar es mayor de 3.5 Mb, si desea cambie el tamaño del archivo y vuelva a intentarlo.");
				?>
				<form action="index.php" method="post">
			
				<input type="submit" value="Volver" />
				</form>
				<?
			}

el codigo de las funciones:
Código:
function reduceimagenjpg($imagen)
   {
		$img_origen = imagecreatefromjpeg($imagen);
		$ancho_origen = imagesx(img_origen);
		$alto_origen = imagesy(img_origen);
		$ancho_limite = 500;
		
		$ancho_origen = $ancho_limite;
		$alto_origen = $ancho_limite * imagesy($img_origen) / imagesx($img_origen);
		
		
		$img_destino = imagecreatetruecolor($ancho_origen, $alto_origen);
		imagecopyresized($img_destino, $img_origen, 0, 0, 0, 0, $ancho_origen, $alto_origen, imagesx($img_origen), imagesy($img_origen));
		imagejpeg($img_destino, $imagen);
	
   }  
   function reduceimagengif($imagen)
   {
		$img_origen = imagecreatefromjpeg($imagen);
		$ancho_origen = imagesx(img_origen);
		$alto_origen = imagesy(img_origen);
		$ancho_limite = 500;
		
		$ancho_origen = $ancho_limite;
		$alto_origen = $ancho_limite * imagesy($img_origen) / imagesx($img_origen);
		
		
		$img_destino = imagecreatetruecolor($ancho_origen, $alto_origen);
		imagecopyresized($img_destino, $img_origen, 0, 0, 0, 0, $ancho_origen, $alto_origen, imagesx($img_origen), imagesy($img_origen));
		imagejpeg($img_destino, $imagen);
	
   }
   function mediajpg($imagen, $nuevaruta)
   {
		$img_origen = imagecreatefromjpeg($imagen);
		$ancho_origen = imagesx(img_origen);
		$alto_origen = imagesy(img_origen);
		$ancho_limite = 250;
		
		$ancho_origen = $ancho_limite;
		$alto_origen = $ancho_limite * imagesy($img_origen) / imagesx($img_origen);
		
		
		$img_destino = imagecreatetruecolor($ancho_origen, $alto_origen);
		imagecopyresized($img_destino, $img_origen, 0, 0, 0, 0, $ancho_origen, $alto_origen, imagesx($img_origen), imagesy($img_origen));
		imagejpeg($img_destino, $nuevaruta);
	
   }  
   function mediagif($imagen, $nuevaruta)
   {
		$img_origen = imagecreatefromjpeg($imagen);
		$ancho_origen = imagesx(img_origen);
		$alto_origen = imagesy(img_origen);
		$ancho_limite = 250;
		
		$ancho_origen = $ancho_limite;
		$alto_origen = $ancho_limite * imagesy($img_origen) / imagesx($img_origen);
		
		
		$img_destino = imagecreatetruecolor($ancho_origen, $alto_origen);
		imagecopyresized($img_destino, $img_origen, 0, 0, 0, 0, $ancho_origen, $alto_origen, imagesx($img_origen), imagesy($img_origen));;
		imagejpeg($img_destino, $nuevaruta);
	
   }
   function miniaturajpg($imagen, $nuevaruta)
   {
		$img_origen = imagecreatefromjpeg($imagen);
		$ancho_origen = imagesx(img_origen);
		$alto_origen = imagesy(img_origen);
		$ancho_limite = 160;
		
		$ancho_origen = $ancho_limite;
		$alto_origen = $ancho_limite * imagesy($img_origen) / imagesx($img_origen);
		
		
		$img_destino = imagecreatetruecolor($ancho_origen, $alto_origen);
		imagecopyresized($img_destino, $img_origen, 0, 0, 0, 0, $ancho_origen, $alto_origen, imagesx($img_origen), imagesy($img_origen));
		imagejpeg($img_destino, $nuevaruta);
	
   }  
   function miniaturagif($imagen, $nuevaruta)
   {
		$img_origen = imagecreatefromjpeg($imagen);
		$ancho_origen = imagesx(img_origen);
		$alto_origen = imagesy(img_origen);
		$ancho_limite = 160;
		
		$ancho_origen = $ancho_limite;
		$alto_origen = $ancho_limite * imagesy($img_origen) / imagesx($img_origen);
		
		
		$img_destino = imagecreatetruecolor($ancho_origen, $alto_origen);
		imagecopyresized($img_destino, $img_origen, 0, 0, 0, 0, $ancho_origen, $alto_origen, imagesx($img_origen), imagesy($img_origen));;
		imagejpeg($img_destino, $nuevaruta);
	
   }
   function limpiar_caracteres_especiales($s) {
	$s = ereg_replace("[áàâãª]","a",$s);
	$s = ereg_replace("[ÁÀÂÃ]","A",$s);
	$s = ereg_replace("[éèê]","e",$s);
	$s = ereg_replace("[ÉÈÊ]","E",$s);
	$s = ereg_replace("[íìî]","i",$s);
	$s = ereg_replace("[ÍÌÎ]","I",$s);
	$s = ereg_replace("[óòôõº]","o",$s);
	$s = ereg_replace("[ÓÒÔÕ]","O",$s);
	$s = ereg_replace("[úùû]","u",$s);
	$s = ereg_replace("[ÚÙÛ]","U",$s);
	$s = str_replace(" ","-",$s);
	$s = str_replace("ñ","n",$s);
	$s = str_replace("Ñ","N",$s);
	return $s;
}

Última edición por albertusphp; 04/10/2012 a las 02:54