Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/03/2008, 10:55
guelu
 
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