Foros del Web » Programando para Internet » PHP »

Error carga de imagen!

Estas en el tema de Error carga de imagen! en el foro de PHP en Foros del Web. Hola gente.. Estoy teniendo un error con un formulario, con un codigo que hice hace rato, que lo use infinidad de veces y nunca tuve ...
  #1 (permalink)  
Antiguo 12/11/2012, 07:17
Avatar de NnikoO  
Fecha de Ingreso: agosto-2008
Ubicación: Rosario
Mensajes: 245
Antigüedad: 15 años, 8 meses
Puntos: 0
Exclamación Error carga de imagen!

Hola gente..
Estoy teniendo un error con un formulario, con un codigo que hice hace rato, que lo use infinidad de veces y nunca tuve problemas, pero esta vez me esta volviendo loco jaja y no logro entender porque me lo hace.

Es para la carga de noticias. Todo texto salvo un input file para la carga de una unica imagen.

El codigo de la carga es este:
Código PHP:
Ver original
  1. <?php
  2. //  DATOS DE SESION
  3. require("seguridad.php");
  4. $_SESSION["autorizado"];
  5.  
  6. //RECOJO VALORES Y LIMPIO
  7. include '../../funciones/funciones.php';
  8. include '../../funciones/conexion.php';
  9.  
  10. $titulo = limpiarCadena($_POST['titulo']);
  11. $autor  = limpiarCadena($_POST['autor']);
  12. $dia    = limpiarCadena($_POST['d']);
  13. $mes    = limpiarCadena($_POST['m']);
  14. $anio   = limpiarCadena($_POST['y']);
  15. $texto  = limpiarCadena($_POST['descripcion']);
  16.  
  17. //COMPROBAR QUE LA FECHA NO VENGA VACIA
  18. if($dia == "" OR $mes == "" OR $anio == ""){
  19.     $fecha = date("d-m-Y");
  20. }
  21. else{
  22.         $fecha = $dia . "-" . $mes . "-" . $anio;
  23. }
  24.  
  25. // COMIENZA LA CARGA
  26. if($_FILES['imagen']['error'] != 0){
  27.     switch ($_FILES['imagen']['error']){
  28.              case 1:
  29.                 $msj_error = 1;
  30.              break;
  31.              
  32.              case 2:
  33.                 $msj_error = 2;
  34.              break;
  35.              
  36.              case 3:
  37.                 $msj_error = 3;
  38.              break;
  39.     }
  40.    
  41.     header("Location: ../cargar-noticia.php?msj_error=$msj_error");
  42.     exit;
  43.    
  44. }
  45. else{
  46.       if($_FILES['imagen']['error'] == 0){
  47.          //Nombre de archivo
  48.          $nombre = substr($_FILES['imagen']['name'], 0, strrpos($_FILES['imagen']['name'],'.'));
  49.          $nombre = trim($nombre);
  50.          //Extensión de archivo
  51.          $extension = substr($_FILES['imagen']['name'], strrpos($_FILES['imagen']['name'],'.'));
  52.          //Detecta si la extensión del archivo es correcta
  53.          if((strtolower($extension) == '.jpeg') OR (strtolower($extension) == '.jpg')){
  54.             //Detecta si el tamaño es el correcto
  55.             if(($_FILES['imagen']['size'] > 0) AND ($_FILES['imagen']['size'] < 5000000)){
  56.                                            
  57.                 $dimension = getimagesize($_FILES['imagen']['tmp_name']);
  58.                 //Dimension igual o mayor a 580 x 244
  59.                 if($dimension[0] > 579 AND $dimension[1] > 243){                   
  60.                                    
  61.                    if(isset($_FILES['imagen']['tmp_name'])){
  62.                       if (is_uploaded_file( $_FILES['imagen']['tmp_name'])){
  63.                          
  64.                           $nombrecompleto =  $nombre.$extension;
  65.                           $directorio     = "../../directorio_noticias/";
  66.                           if(file_exists($directorio.$nombrecompleto)){
  67.                                   unlink($directorio.$nombrecompleto);
  68.                           }
  69.                                   copy($_FILES['imagen']['tmp_name'], $directorio.$nombrecompleto);                          
  70.                                                          
  71.                     }  
  72.                 }      
  73.                
  74.                 conectar();
  75.                
  76.                 $sqlcarga = " INSERT INTO noticias SET
  77.                               titulo        = '$titulo',
  78.                               autor         = '$autor',
  79.                               fecha         = '$fecha',
  80.                               descripcion   = '$texto',
  81.                               imagen        = '$nombrecompleto'";
  82.                 $resultadocarga = mysql_query($sqlcarga, $link) or die(mysql_error()); 
  83.                
  84.                 /*/OBTENGO ID DE LA NUEVA PROPIEDAD        
  85.                 $sqlbusca = "SELECT idPropiedad FROM propiedades WHERE operacion = '" . $operacion . "' AND propiedad = '" . $propiedad . "' AND calle               = '" . $calle . "' AND numero = '" . $numero . "'";
  86.                 $resultado_sqlbusca = mysql_query($sqlbusca, $link) or die(mysql_error());
  87.                 $rbusca = mysql_fetch_array($resultado_sqlbusca);
  88.  
  89.                 $ultimaid  = $rbusca['idPropiedad'];
  90.                
  91.                 //RENOMBRO CARPETA TEMPORAL POR LA ID OBTENIDA
  92.                 $directorio_nuevo = "../propiedades/" . $ultimaid;
  93.                 rename("$directoriofotos","$directorio_nuevo");*/
  94.                
  95.                 header("Location: ../noticias.php?msj_noticia=1");
  96.                 exit;
  97.                                
  98.             }else{
  99.  
  100.                     header("Location: ../cargar-noticia.php?msj_error=4");
  101.                     exit;
  102.                     //$msj_error = 4;
  103.                    
  104.             }                                      
  105.         }else{
  106.  
  107.                 header("Location: ../cargar-noticia.php?msj_error=5");
  108.                 exit;
  109.                 //$msj_error = 5;
  110.                
  111.         }
  112.     }else{
  113.  
  114.             header("Location: ../cargar-noticia.php?msj_error=6");
  115.             exit;
  116.             //$msj_error = 6;
  117.            
  118.     }  
  119.   }
  120. }
  121.  
  122. ?>

Por mas que cargue imagenes que cumplen con los requisitos, siempre me tira el error = 6. Que es el => "Está intentando subir un archivo inválido. Solo se permiten extensiones .JPEG, .PNG ó .GIF"

Alguien que pueda soplarme algo?
Muchas gracias...
  #2 (permalink)  
Antiguo 12/11/2012, 09:10
Avatar de llorcasantana  
Fecha de Ingreso: octubre-2012
Mensajes: 45
Antigüedad: 11 años, 5 meses
Puntos: 2
Respuesta: Error carga de imagen!

Código PHP:
Ver original
  1. $this->obtenerExtensionFichero($_FILES['archivo']['name']);
  2.  
  3. function obtenerExtensionFichero($str)
  4. {
  5.         return end(explode(".", $str));
  6. }

fuente: [URL="http://www.pedroventura.com/php/comprobar-extensiones-de-una-imagen-subida-con-php/"]pedroventura[/URL]
  #3 (permalink)  
Antiguo 12/11/2012, 09:12
Avatar de NnikoO  
Fecha de Ingreso: agosto-2008
Ubicación: Rosario
Mensajes: 245
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Error carga de imagen!

Muchas gracias por la respuesta llorcasantana!
De todas formas ya lo habia solucionado haciendo la subida del archivo aparte con jquery!
  #4 (permalink)  
Antiguo 12/11/2012, 09:17
Avatar de llorcasantana  
Fecha de Ingreso: octubre-2012
Mensajes: 45
Antigüedad: 11 años, 5 meses
Puntos: 2
Respuesta: Error carga de imagen!

de nada colega ;)

Etiquetas: formulario, imagenes, mysql, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:58.