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
Código:
Muchas gracias por vuestra ayuda. <? 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); ?>