Foros del Web » Programando para Internet » PHP »

Problema al cargar fichero en formulario

Estas en el tema de Problema al cargar fichero en formulario en el foro de PHP en Foros del Web. Hola a todos, llevo tiempo leyendo el foro y me habeis ayudado mucho con algunos problemitas. Ahora tengo un problema que no encuentro solucion, os ...
  #1 (permalink)  
Antiguo 25/08/2012, 05:29
 
Fecha de Ingreso: agosto-2012
Mensajes: 1
Antigüedad: 11 años, 7 meses
Puntos: 0
Problema al cargar fichero en formulario

Hola a todos, llevo tiempo leyendo el foro y me habeis ayudado mucho con algunos problemitas. Ahora tengo un problema que no encuentro solucion, os cuento:

Tengo una formulario para cargar un fichero pero cuando hago el submit la variable $_FILES va vacia, al igual que $_POST, y en $_GET solo aparece le nombre del fichero

os adjunto el codigo del formulario

Código HTML:
<form enctype="multipart/form-data" action="principal.php" method="POST">
    <input type="hidden" name="MAX_FILE_SIZE" value="30000" />
    <!-- El nombre del elemento de entrada determina el nombre en el array $_FILES -->
    Enviar este archivo: <input name="archivo" type="file" />
    <input type="submit" name ="submit" value="Send File" />
    <input type="hidden" name="codPagina" value="280" />
</form> 
y este es el script php, no es gran cosa, pero es para ver los valores que llegan

Código PHP:
<?php 
    print_r
($_POST);
if(isset(
$_GET["submit"]) && $_GET["submit"] == "Send File"){
    
print_r($_FILES);
}
?>
Muchas gracias
  #2 (permalink)  
Antiguo 25/08/2012, 07:49
 
Fecha de Ingreso: septiembre-2011
Mensajes: 176
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: Problema al cargar fichero en formulario

Una pregunta que es lo que envias por get y como . E echo una prueba abajo te dejo el código y me pasa bien el array $_FILES. Lo de abajo es un ejemplo tiene errores que corrijo de mala manera con @ pero solo es un ejemplo. Espero que te sirva de ayuda.



Cita:


<?php
@$ITEM = $_GET["item"];

switch ($ITEM) {
case "ok":

echo print_r($_FILES);

break;
}
?>

Cita:


<form action="prueba.php?item=ok" method="POST" enctype='multipart/form-data'>
<input type="hidden" name="MAX_FILE_SIZE" value="30000" />

Enviar este archivo: <input name="archivo" type="file" />

<input type="hidden" name="codPagina" value="280" />
<input type="submit" name ="submit" value="Send File" />
</form>


  #3 (permalink)  
Antiguo 25/08/2012, 08:30
Avatar de antoniopol  
Fecha de Ingreso: agosto-2012
Ubicación: Valladolid
Mensajes: 114
Antigüedad: 11 años, 7 meses
Puntos: 21
Respuesta: Problema al cargar fichero en formulario

Prueba de la siguiente manera yo creo que te puede funcionar
Código HTML:
Ver original
  1. <form enctype="multipart/form-data" action="principal.php" method="POST">
  2.     <input type="hidden" name="formulario" id="formulario" value="1"/>
  3.     <input type="hidden" name="MAX_FILE_SIZE" value="30000" />
  4.     <!-- El nombre del elemento de entrada determina el nombre en el array $_FILES -->
  5.     Enviar este archivo: <input name="archivo" type="file" />
  6.     <input type="submit" name ="submit" value="Send File" />
  7.     <input type="hidden" name="codPagina" value="280" />
  8. </form>

Si ves utilizo un campo de texto oculto "formulario" y lo utilizo en el php para saber si realmente viene desde el formulario de la siguiente manera:
Código PHP:
Ver original
  1. <?php
  2.  if($_POST["formulario"]==1)
  3. {
  4.  print_r($_FILES["archivo"]);
  5. }else{
  6.  echo "error";
  7. }
  8. ?>

Espero que esto te funcione.
  #4 (permalink)  
Antiguo 26/08/2012, 01:31
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 14 años, 5 meses
Puntos: 168
Respuesta: Problema al cargar fichero en formulario

Cita:
Iniciado por adagweb Ver Mensaje
la variable $_FILES
bueno 1ero que nada $_FILES no es una variable, es 1 array asociativo, por lo tanto te falta agregarle el indice, no solo es poner

print_r($_FILES);

lo mismo para $_GET Y $_POST

print_r($_FILES['indice');

los indices no los pongas con comillas dobles " ponelos con simples ' .

print_r($_FILES['hola'); asi.

$_GET["submit"]
a demas de que esto nunca funcionará, estas enviando por post no por get.

Etiquetas: fichero, formulario, variables
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 02:56.