Foros del Web » Programando para Internet » PHP »

problema con $_FILES

Estas en el tema de problema con $_FILES en el foro de PHP en Foros del Web. Buenas tengo este codigo Código PHP: if(isset( $_FILES [ 'foto' ])){ }  para comprobar si el input de type file viene lleno o vacio. El ...
  #1 (permalink)  
Antiguo 22/01/2013, 05:36
Avatar de javicruzgv  
Fecha de Ingreso: diciembre-2011
Ubicación: Alcoy(Alicante)
Mensajes: 189
Antigüedad: 12 años, 3 meses
Puntos: 2
problema con $_FILES

Buenas tengo este codigo
Código PHP:
if(isset($_FILES['foto'])){

para comprobar si el input de type file viene lleno o vacio. El problema es que venga lleno o vacio entra dentro de este if.

Alguien puede explicármelo y darme una solución.

Un saludo y gracias.
__________________
http://www.cruzpyd.com
  #2 (permalink)  
Antiguo 22/01/2013, 05:59
Avatar de 60NZ4  
Fecha de Ingreso: mayo-2012
Ubicación: 404 Not found
Mensajes: 112
Antigüedad: 11 años, 11 meses
Puntos: 2
Respuesta: problema con $_FILES

mmm esque isset, no es para ver si viene lleno o vacío, es para ver si existe


el codigo seria algo asi :

Código PHP:
Ver original
  1. if(isset($_FILES['foto'])){
  2.  
  3.      if($_FILES['foto'] == ''){  //vacío
  4.  
  5.      } else{    // si tiene algo
  6.      
  7.      }
  8. }else{
  9.  
  10. }  
  11.  
  12.  
  13. espero que te sirva :arriba:
__________________
Nadie nace aprendido, un experto es simplemente alguien que ya ha cometido muchos errores
  #3 (permalink)  
Antiguo 22/01/2013, 06:52
Avatar de javicruzgv  
Fecha de Ingreso: diciembre-2011
Ubicación: Alcoy(Alicante)
Mensajes: 189
Antigüedad: 12 años, 3 meses
Puntos: 2
Respuesta: problema con $_FILES

no funciona. Para que lo entendáis mejor. El codigo que utilizo es el siguiente:
Código PHP:
Ver original
  1. if(isset($_FILES['foto'])){
  2.             if($_FILES['foto']!=""){
  3.                 $nombre_imagen = $_FILES['foto']['name'];//nombre del archivo
  4.                 $ruta_tmp_imagen = $_FILES['foto']['tmp_name'];//ruta temporal
  5.                 $extension_imagen = pathinfo($nombre_imagen);//array con la informacion del archivo, nombre, extension
  6.                 $ruta_nueva="imagenes/usuarios/".$nombre_imagen;//ruta nueva
  7.                 $ext=$extension_imagen['extension'];
  8.                 if($ext!="jpg" AND $ext!="png" AND $ext!="JPG"){
  9.                     $imagen='*El formato no es valido, ha de ser png o jpg.';
  10.                 }
  11.             }
  12.         }
Este código lo gasto para que si la imagen viene llena que compruebe la extensión. el problema es que si la imagen viene vacía sigue entrando ha hacer la comprobación.
__________________
http://www.cruzpyd.com
  #4 (permalink)  
Antiguo 22/01/2013, 10:46
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: problema con $_FILES

De hecho esa no es la forma, la forma correcta es evaluando la llave "error" para que veas:
Código PHP:
Ver original
  1. if ($_FILES['foto']['error'] != UPLOAD_ERR_NO_FILE) {
  2.     // sí se subió un archivo
  3. }

Saludos
  #5 (permalink)  
Antiguo 22/01/2013, 11:42
Avatar de javicruzgv  
Fecha de Ingreso: diciembre-2011
Ubicación: Alcoy(Alicante)
Mensajes: 189
Antigüedad: 12 años, 3 meses
Puntos: 2
Respuesta: problema con $_FILES

Muchas gracias ya funciona.
__________________
http://www.cruzpyd.com

Etiquetas: files
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 11:55.