PHP - funciona en firefox y no en explore!!!

 
Vista:

funciona en firefox y no en explore!!!

Publicado por guelu (1 intervención) el 23/03/2008 17:57:19
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:

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.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder