Foros del Web » Programando para Internet » PHP »

$_FILES no recibe [name]

Estas en el tema de $_FILES no recibe [name] en el foro de PHP en Foros del Web. Hola! Me presento primero ya que es mi primer post, soy Victor y estoy un poco iniciado ya en el php :D Tengo un problema ...
  #1 (permalink)  
Antiguo 19/02/2010, 05:08
 
Fecha de Ingreso: febrero-2010
Mensajes: 13
Antigüedad: 14 años, 2 meses
Puntos: 0
$_FILES no recibe [name]

Hola! Me presento primero ya que es mi primer post, soy Victor y estoy un poco iniciado ya en el php :D

Tengo un problema con el campo file y su recepcion mediante php.

Codigo Html:

Código HTML:
Ver original
  1. <form name="formu" method="post" action="SubidaArchivos.php" enctype="multipart/form-data">
  2.  
  3. <input type="file" name="buscar" onBlur='LimitAttach(this,1);'/>

Php:

Código PHP:
Ver original
  1. $ruta = empty($_FILES['buscar']['name']) ? "No se encuentra nombre" : $_FILES['buscar']['name'];

el problema es que aunque en el input file haya un archivo , en el php donde recojo los datos no me llega el nombre de archivo y no entiendo porque.

Gracias de antemano!
  #2 (permalink)  
Antiguo 19/02/2010, 05:24
Avatar de Gulinaidas  
Fecha de Ingreso: febrero-2010
Ubicación: La Plata, ARG
Mensajes: 88
Antigüedad: 14 años, 2 meses
Puntos: 1
Respuesta: $_FILES no recibe [name]

Fijate si probas con $HTTP_POST_FILES, tiene el mismo manejo y utilidad q $_FILES......SALUDOS
  #3 (permalink)  
Antiguo 19/02/2010, 05:27
 
Fecha de Ingreso: febrero-2010
Mensajes: 13
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: $_FILES no recibe [name]

si, tambien prové eso y nada, lo curioso esq me funcionaba normal, pero cuando he vuelto a abrir el archivo y probarlo esta mañana no funciona.
  #4 (permalink)  
Antiguo 19/02/2010, 07:19
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 2 meses
Puntos: 29
Respuesta: $_FILES no recibe [name]

Primero coges el tmp_name y luego con move_uploades_files lo mueves a un directorio con el name. El tmp_name es la ruta y nombre del fichero temporal subido, que generalmente se guarda en /tmp o C:\Temp (*nix o Win respectivamente) y el name es el nombre del fichero (sin ruta) (o eso me explicaron a mi). Te pongo un ejemplo de cómo hago yo:
Código PHP:
Ver original
  1. $aleatorio=rand(0,999999);
  2.     $uploadDir = '../upload/img/'.$aleatorio.'-';
  3.     $uploadFile = $uploadDir . $_FILES['imagen']['name'];
  4.     move_uploaded_file($_FILES['imagen']['tmp_name'], $uploadFile);
  5.  
  6. chmod($uploadFile, 0754);
  7.  
  8. $ruta="http://www.dominio.net/upload/img/".$aleatorio."-".$_FILES['imagen']['name'];
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.
  #5 (permalink)  
Antiguo 19/02/2010, 07:30
Avatar de hector2c  
Fecha de Ingreso: noviembre-2007
Ubicación: Perú - Tacna
Mensajes: 979
Antigüedad: 16 años, 4 meses
Puntos: 25
Respuesta: $_FILES no recibe [name]

mmmmmmm, pero el fichero lo sube adecuadamente en tu carpeta upload/img ???
__________________
blog: hector2c.wordpress.com
email: [email protected]
  #6 (permalink)  
Antiguo 19/02/2010, 07:34
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: $_FILES no recibe [name]

Haz esto y cuéntanos qué salida te genera:
Código PHP:
Ver original
  1. <pre>
  2. <?php
  3. print_r($_FILES);
  4. ?>
  5. </pre>
Cita:
Iniciado por Gulinaidas Ver Mensaje
Fijate si probas con $HTTP_POST_FILES, tiene el mismo manejo y utilidad q $_FILES......SALUDOS
$HTTP_POST_FILES está obsoleto, ya no debe usarse.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 19/02/2010, 07:53
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 2 meses
Puntos: 29
Respuesta: $_FILES no recibe [name]

Cita:
Iniciado por hector2c Ver Mensaje
mmmmmmm, pero el fichero lo sube adecuadamente en tu carpeta upload/img ???
Si , ese código tal cual. Sólo tienes que modificar la ruta tal como sería en tu server. Bueno, acuérdate de poner enctype="multpart/form-data" en el <form> para que envíe el fichero, sino nada.
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.
  #8 (permalink)  
Antiguo 19/02/2010, 08:08
Avatar de hector2c  
Fecha de Ingreso: noviembre-2007
Ubicación: Perú - Tacna
Mensajes: 979
Antigüedad: 16 años, 4 meses
Puntos: 25
Respuesta: $_FILES no recibe [name]

waaa, jajaja, disculpa, crei que CHuLoSoY era el autor del tema, :P, SoulOfBeast, como va el script??? ya anda?
__________________
blog: hector2c.wordpress.com
email: [email protected]
  #9 (permalink)  
Antiguo 22/02/2010, 02:13
 
Fecha de Ingreso: febrero-2010
Mensajes: 13
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: $_FILES no recibe [name]

primero gracias por contestar, el problema está en que no recibo nada desde el campo file del formulario por post.
  #10 (permalink)  
Antiguo 22/02/2010, 02:57
 
Fecha de Ingreso: febrero-2010
Mensajes: 13
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: $_FILES no recibe [name]

Cita:
Iniciado por David Ver Mensaje
Haz esto y cuéntanos qué salida te genera:
Código PHP:
Ver original
  1. <pre>
  2. <?php
  3. print_r($_FILES);
  4. ?>
  5. </pre>
$HTTP_POST_FILES está obsoleto, ya no debe usarse.
si, el error se que está en el array que me llega vacio, el problema es que no se porqué.Quizá algun problema con los navegadores?
  #11 (permalink)  
Antiguo 22/02/2010, 03:08
 
Fecha de Ingreso: agosto-2008
Mensajes: 367
Antigüedad: 15 años, 7 meses
Puntos: 5
Respuesta: $_FILES no recibe [name]

postea el form donde cargas el archivo que el problema debe estar elli sin duda
  #12 (permalink)  
Antiguo 22/02/2010, 03:26
 
Fecha de Ingreso: agosto-2008
Mensajes: 367
Antigüedad: 15 años, 7 meses
Puntos: 5
Respuesta: $_FILES no recibe [name]

tal vez no llege vacio tu lo buscas como name cuando tienes que tomarlo primero como tmp_name- mira te pongo un codigo aqui que funciona.. y fijate la diferencia

mando: html

<form enctype="multipart/form-data" method="POST" target="_self" action="pagina.php">

<input type='file' name='foto' size='20'> <input type='submit' value='Enviar' name='fo5'>
</form>


recibo: php

$_FILES['foto']['size'];
$_FILES['foto']['type'];

$hayfoto = false;
{
if ($_FILES['foto']['size'] > 0) { $hayfoto = true; }
}
if ($hayfoto) {
if (strtolower(substr($_FILES['foto']['type'],-4))!="jpeg" && strtolower(substr($_FILES['foto']['type'],-3))!="png" && strtolower(substr($_FILES['foto']['type'],-3))!="gif")
{
echo "<script type=\"text/javascript\">alert(\"Solo se permiten extenciones de imagenes jpg,gif,png (foto)\");location.href='pagina.php'</script>";
$error = true;
}
elseif($_FILES['foto']['size']>102400)

{
echo "<script type=\"text/javascript\">alert(\"Archivo exedido de tamaño.. permitido hasta 100kb (foto) \");location.href='pagina.php'</script>";
$error = true;
}
}
elseif(!$error)
{

(move_uploaded_file($_FILES['foto']['tmp_name'], $directorio.'/'. $_FILES['foto']['name']));

//y aqui pones el codigo para subir la ruta a la db
}

$directorio es la ruta donde se guarda la imagen la declaras antes

$directorio = 'ruta';
  #13 (permalink)  
Antiguo 22/02/2010, 05:42
 
Fecha de Ingreso: febrero-2010
Mensajes: 13
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: $_FILES no recibe [name]

Vale, ya he conseguido solucionarlo, era la configuración del php, el file_upload lo tenia desactivado.

Gracias a todos
  #14 (permalink)  
Antiguo 24/11/2010, 16:00
 
Fecha de Ingreso: noviembre-2010
Mensajes: 1
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: $_FILES no recibe [name]

hola !!

yo tengo un problema similar, al realizar update de la imagen que tengo guardada en modifica.php

esto es lo que figura en pantalla

Warning:copy()[function.copy]: Filename cannot be empty in C:\..\modifica.php on line 20

aca reuno los datos ingresados en los input

Código PHP:
Ver original
  1. if(isset($_POST["iduser"])){
  2.         $id      = $_POST["iduser"];
  3.         $login   = $_POST["tx_login"];
  4.         $pass    = $_POST["tx_pass"];
  5.         $carpeta = "imagenes";
  6.         $archivo= $carpeta."/".$_FILES['foto']['name'];
  7.         copy($_FILES['foto']['tmp_name'],$archivo);  [B]//linea 20[/B]
  8.         print_r($_FILES['foto']);      
  9.         if($id > 0){
  10.             [B]modificaUsuario($id, $login,$pass, $archivo, $con);[/B]
  11.             echo '<script>alert(" Registro Almacenado");</script>';
  12.         }else{
  13.             echo '<script>alert(" ERROR!!");</script>';
  14.         }

y luego esto debe modificarse en operaciones.php

Código PHP:
Ver original
  1. function modificaUsuario($id, $login,$pass,$archivo,$con){
  2.     $sql = "update usuario set pass='$pass', login='$login', foto='$archivo' where idusuario='$id'";
  3.     return mysql_query($sql,$con);     
  4. }

El asunto es que con insertar no tengo problemas, pero cuando modifico llega solo el nombre de la carpeta donde estan mis imagenes y no la imagen en si...
  #15 (permalink)  
Antiguo 18/06/2013, 13:54
 
Fecha de Ingreso: febrero-2013
Mensajes: 43
Antigüedad: 11 años, 2 meses
Puntos: 0
Respuesta: $_FILES no recibe [name]

Te la rifaste xD
Gracias. De hecho me faltaba el enctype="multipart/form-data" .-.

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 17:48.