![Antiguo](http://static.forosdelweb.com/fdwtheme/images/statusicon/post_old.gif)
23/03/2008, 10:55
|
| | Fecha de Ingreso: agosto-2006
Mensajes: 40
Antigüedad: 18 años, 5 meses Puntos: 0 | |
Funciona con Firefox y no con explore!!! Hola a todos y gracias por mirar este post.
El problema que tengo es que he hecho un script para subir una imagen a mi servidor y a la vez que se sube se redimensiona. Pues bien, en firefox funciona prefectamente pero en explore me da el siguiente error: Código HTML: tipo de archivo no valido
Warning: Division by zero in /home/quemd4bf/public_html/funciones/upload3.php on line 82
Warning: imagecreatetruecolor() [function.imagecreatetruecolor]: Invalid image dimensions in /home/quemd4bf/public_html/funciones/upload3.php on line 84
Warning: imagecopyresampled(): supplied argument is not a valid Image resource in /home/quemd4bf/public_html/funciones/upload3.php on line 85
Os muestro el código del archivo upload3.php que hace todo esto y al que hace referencia el error
Código:
<?
session_start();
$status = "";
if ($_POST["action"] == "upload") {
// obtenemos los datos del archivo
$tamano = $_FILES["foto"]['size'];
if ($tamano >2000000000){
echo "archivo demasiado grande";
}else{
$tipo = $_FILES["foto"]['type'];
//echo $tipo;
if ($tipo !="image/jpeg" && $tipo !="image/bmp"&& $tipo !="image/gif"&& $tipo !="image/png"){
echo "tipo de archivo no valido";
}else{
$archivo = $_FILES["foto"]['name'];
$prefijo = substr(md5(uniqid(rand())),0,6);
if ($archivo != "") {
// guardamos el archivo a la carpeta files
$destino = "../fotos/".$prefijo."_".$archivo;
$nombre =$prefijo."_".$archivo;
if (copy($_FILES['foto']['tmp_name'],$destino)) {
//echo $status = "Archivo subido: <b>".$archivo."</b>";
//header ("Location:../mensajes/mensaje1.html");
include("../mensajes/mensaje1.html");
} else {
echo $status = "Error al subir el archivo";
}
} else {
echo $status = "Error al subir archivo";
}
}
}
}else{
echo "archivo subido con éxito";
}
//................Script que redimensiona la foto que hemos subido
$anchura=400;
$hmax=400;
$imagen= $destino;
$directorio = $destino;
$datos = getimagesize($imagen);
if($datos[2]==1){$img = @imagecreatefromgif($imagen);}
if($datos[2]==2){$img = @imagecreatefromjpeg($imagen);}
if($datos[2]==3){$img = @imagecreatefrompng($imagen);}
$ratio = ($datos[0] / $anchura);
$altura = ($datos[1] / $ratio);**************************AQUI DA UN ERROR LINEA 82
if($altura>$hmax){$anchura2=$hmax*$anchura/$altura;$altura=$hmax;$anchura=$anchura2;}
$thumb = imagecreatetruecolor($anchura,$altura);***************ERROR LINEA 84
imagecopyresampled($thumb, $img, 0, 0, 0, 0, $anchura, $altura, $datos[0], $datos[1]); ***************ERROR LINEA 85
if($datos[2]==1){imagegif($thumb,$directorio);}
if($datos[2]==2){imagejpeg($thumb, $directorio);}
if($datos[2]==3){imagepng($thumb, $directorio); }
//...............................................................................................
//.............Script para almacenar los datos en la base de datos......................
//session_start();
include("../includes/config.php");
include("../includes/funciones.php");
$idcnx = conectar ();
mysql_query("SET NAMES 'utf8'");
// realizo la consulta.
$sql = "SELECT * FROM formulario WHERE usuario='".$_SESSION['usuario']."'";
$res = mysql_query($sql) or die (mysql_error());
if (mysql_num_rows($res)>0){
while ($fila = mysql_fetch_array($res)) {
$id = $fila['id'];
$nombre = $fila['nombre'];
$apellidos = $fila['apellidos'];
$usuario = $fila['usuario'];
$ciudad = $fila['ciudad'];
$email = $fila['email'];
//echo $fila['ciudad'];
}
}
$cnx = conectar ();
mysql_query("SET NAMES 'utf8'");
mysql_query("insert into objetosmios(fechafin,ciudad,interes,rutafoto,nombrefoto,propietario,nombreobj,fecha,descripcion,tipo)values(DATE_ADD(NOW(), INTERVAL 60 DAY),'".$ciudad."','".$_POST['interes']."','".$destino."','".$destino."','".$_SESSION['usuario']."','".$_POST['nombreobj']."',NOW(),'".$_POST['descripcion']."','".$_POST['tipo']."')");
//echo "El registro se ha realizado correctamente";
mysql_close($idcnx);
?>
Muchas gracias por vuestra ayuda.
Última edición por guelu; 23/03/2008 a las 11:03 |