Ver Mensaje Individual
  #3 (permalink)  
Antiguo 23/02/2013, 19:54
Avatar de kahlito
kahlito
Colaborador
 
Fecha de Ingreso: marzo-2003
Ubicación: En el Estrecho y el mar
Mensajes: 2.936
Antigüedad: 21 años, 9 meses
Puntos: 65
Respuesta: Error enviando noticias con o sin imágenes a base de datos desde formulari

Hola skiper0125.

He cambiado a tu ejemplo y parecía que iba bien pero veo que me sigue dando problemas:

1 - Al entrar si pongo un .jpg grande de más de 2mb no lo reconoce y me devuelve "No lleva imágenes y preparo el envío."
2 - Sin pongo un avi o mp3 no lo reconoce y dice "No lleva imagenes y preparo el envío"

Si pongo un pdf o un rtf por ejemplo si me dice archivo no válido pero los otros me siguen dando problemas, solo una vez de pronto aparece el error de tamaño máximo no permitido, no se si será por la caché o que el formulario siempre carga en la misma web.

Los cambios son estos:

Código PHP:
Ver original
  1. <?php
  2.                 if (isset($_POST["enviar"]))
  3.                 {                  
  4.                     /*Primero compruebo si se ha elegido una imagen*/
  5.                     if($_FILES["imagen1"]['tmp_name']!="")
  6.                     {
  7.                         echo "Hay imagen ";
  8.                         /*--------------------------- Aquí preparo la imagen, imagen1*/
  9.                         //Ruta para subir el archivo
  10.                         $destino = '../img';                   
  11.                         //Nombre de la imagen
  12.                         $imagen1=$_FILES["imagen1"]["name"];       
  13.                         //Nombre Imagen temporal
  14.                         $imagen1_tmp=$_FILES["imagen1"]["tmp_name"];       
  15.                         //Tamaño
  16.                         $imagen1_tamano=$_FILES["imagen1"]["size"];
  17.                         $kilobytes=$imagen1_tamano/1024;//Tamaño de la imagen en Kylobytes;
  18.                         $maximo = 102400; //100Kb
  19.                         $max=1500000; //(1.5Mb)    
  20.                         //Tipo de archivo  
  21.                         $imagen1_tipo=$_FILES["imagen1"]["type"];
  22.                         //Compruebo si el tipo de archivo es correcto
  23.                         /*if($imagen1_tipo == "image/jpeg" or $imagen1_tipo == "image/gif" or $imagen1_tipo == "image/png" or $imagen1_tipo == "image/x-png")*/
  24.                         if( ($imagen1_tipo == "image/jpeg") || ($imagen1_tipo == "image/gif") || ($imagen1_tipo == "image/png") || ($imagen1_tipo == "image/x-png") )  
  25.                         {
  26.                             echo "Formato de imagen correcto<br />";
  27.                             //Preparo la extensión para el nombre de la imagen.
  28.                             switch($imagen1_tipo)
  29.                             {
  30.                                 case'image/jpeg';
  31.                                 $ext=".jpg";
  32.                                 break;
  33.                                 case'image/gif';
  34.                                 $ext=".gif";
  35.                                 break;
  36.                                 case'image/png';
  37.                                 $ext=".png";
  38.                                 break;
  39.                                 case'image/x-png';
  40.                                 $ext=".png";
  41.                                 break;
  42.                             }
  43.                             //Si es correcto compruebo si no pasa del el tamaño máximo
  44.                             if($imagen1_tamano <1500000)
  45.                             {                              
  46.                                 echo "Tamaño permitido, se puede hacer el envío";
  47.                             }
  48.                             //Si supera el tamaño máximo.
  49.                             else
  50.                             {
  51.                                 echo "Error: El tamaño máximo de la imagen es 1.5Mb";
  52.                             }                          
  53.                         }                      
  54.                         else
  55.                         {
  56.                             echo "Error, formato de imagen no válida.";
  57.                         }          
  58.                     }
  59.                     /*Si no se ha elegido ninguna imagen*/
  60.                     else
  61.                     {                              
  62.                         echo "No lleva imágenes y preparo el envío.";
  63.                     }                      
  64.                 }
  65.                 ?>

¿Sería bueno enviar el formulario a otro archivo de respuesta o ya con ese debería de ir todo bien?

Gracias por la ayuda, saludos.