Foros del Web » Programando para Internet » PHP »

Error de carga de archivos

Estas en el tema de Error de carga de archivos en el foro de PHP en Foros del Web. Hola a todos. Tengo un pequeño problema y no se que es lo que pasa, se supone que como realizo la forma de subir archivos ...
  #1 (permalink)  
Antiguo 30/09/2014, 08:36
 
Fecha de Ingreso: marzo-2014
Mensajes: 95
Antigüedad: 10 años, 1 mes
Puntos: 0
Exclamación Error de carga de archivos

Hola a todos.

Tengo un pequeño problema y no se que es lo que pasa, se supone que como realizo la forma de subir archivos esta muy bien pero no pasa nada solo me manda errores y se que funciona como lo hago por que ya me funciona en un host en linea pero en el wampserver no funciona y me manda este error. Notice: Undefined index: archivo in C:\wamp\www\RHGPS\accionesPersonal.php on line 155 y en la linea 155 esta lo siguiente, $archivob = $_FILES["archivo"]["name"];

alguien puede ayudarme??

acá les dejo el código.

FORMULARIO:
Código HTML:
Ver original
  1. <form enctype="multipart/form-data" id="archivoW" method="post" action="accionesPersonal.php">
  2.                         <input type="hidden" name="accion" value="archivos">
  3.                         <input type="submit" class="oculto" name="archivoS" id="archivoS">
  4.                         <input type="hidden" name="idPAR" value="">
  5.                             <table>
  6.                                 <tr>
  7.                                     <td>Nombre</td><td><input name="nombre" type="text"></td>
  8.                                 </tr>
  9.                                 <tr>
  10.                                     <td>Descripción</td><td><input name="descripcion" type="text"></td>
  11.                                 </tr>
  12.                                 <tr>
  13.                                     <td><span>Selecciona el archivo</span></td>
  14.                                     <td><input type="hidden" name="MAX_FILE_SIZE"  value="66060288"/>
  15.                                         <input type="file" class="darchivo" name="archivo" id="archivo" title="Selecciona el archivo a subir"/></td>
  16.                                 </tr>                                                          
  17.                             </table>
  18.                             <center style="margin-top:10px;"><button style="cursor:pointer" onclick="$('#archivoS')trigger('click')" id="subirA"><img src="imagenes/subir.png" style="cursor:pointer;height:30px"><span style="position:relative;top:-10px;margin-left:5px">Agregar Documento</span></button></center>
  19.                         </form>

ARCHIVO DONDE LO RECIBO:
Código PHP:
Ver original
  1. extract($_POST);
  2.         var_dump($_FILES);
  3.         $tama = $_FILES["archivo"]["size"];
  4.         $tipo = $_FILES["archivo"]["type"];
  5.         $archivob = $_FILES["archivo"]["name"];
  6.         echo "<script> alert('Tamaño de archivo: ".$tama."');</script>";
  #2 (permalink)  
Antiguo 30/09/2014, 09:35
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Error de carga de archivos

El problema es que la variable $_FILES no tiene ningún elemento hasta que envías algo con el formulario, antes de eso vendrá vacía y por ende si tratas de acceder a algún índice te dará error.

Eso lo debes controlar mediante lógica:
Código PHP:
Ver original
  1. if (!empty($_FILES)) {
  2.   // la variable $_FILES no está vacía, aquí la usamos
  3. }

¿Se entiende?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 30/09/2014, 09:45
 
Fecha de Ingreso: marzo-2014
Mensajes: 95
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: Error de carga de archivos

Ok pero no tiene nada que ver que sea en un servidor local? ya que exactamente el mismo código lo utilizo en un servidor en linea y no me da ese error, pero lo intentare como me lo propones.

Gracias por responder.
  #4 (permalink)  
Antiguo 30/09/2014, 10:03
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Error de carga de archivos

La única diferencia entre tu servidor local y el remoto podría ser la configuración, que en el servidor "que si funciona" tiene ocultos los errores y por eso no los ves ahí.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 30/09/2014, 10:21
 
Fecha de Ingreso: marzo-2014
Mensajes: 95
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: Error de carga de archivos

Hoooo eso no lo había pensado pero si tiene los errores visibles el servidor local
  #6 (permalink)  
Antiguo 30/09/2014, 13:00
 
Fecha de Ingreso: marzo-2014
Mensajes: 95
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: Error de carga de archivos

No me ha funcionado pateketrueke ya lo intente de se manera y aun me sigue dando este error. Notice: Undefined index: archivo in.
  #7 (permalink)  
Antiguo 30/09/2014, 13:02
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Error de carga de archivos

Entonces muestra el código que has cambiado, de otra forma es imposible adivinar lo que has hecho.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #8 (permalink)  
Antiguo 30/09/2014, 17:53
 
Fecha de Ingreso: marzo-2014
Mensajes: 95
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: Error de carga de archivos

ok te lo muestro.

Código PHP:
Ver original
  1. extract($_POST);
  2.         var_dump($_FILES);
  3.         if (!empty($_FILES)) {     
  4.         $tipo = $_FILES["archivo"]["type"];                                   // AQUI ES DONDE MARCA EL ERROR DE INDEX UNDEFINED
  5.         $archivob = $_FILES["archivo"]["name"];
  6.             $status = "";
  7.             $prefijo = substr(md5(uniqid(rand())),0,3);
  8.             $tamano = $_FILES["archivo"]['size'];
  9.             $archiv = explode(".",$archivob);
  10.             if ($nombre != "") {
  11.                     $nombre = $nombre.".".$archiv[1];
  12.                     $liga = $prefijo."_".$nombre;
  13.                     $destino =  "archivos/".$prefijo."_".$nombre;          
  14.                 if (copy($_FILES['archivo']['tmp_name'],$destino)) {                                   
  15.                     $status = "Archivo subido: ".$nombre."";
  16.                 } else {
  17.                     $status = "Error 1 al subir el archivo";
  18.                 }
  19.             } else {
  20.                 $status = "Error 2 al subir archivo";
  21.             }
  22.    }
  23. }
  #9 (permalink)  
Antiguo 30/09/2014, 17:57
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Error de carga de archivos

Bien, curiosamente el resultado de var_dump() debería indicarte los valores que contiene la variable $_FILES ¿pero igual nos toca adivinar o cómo?

Ahí tienes la información, si te sigue dando error es porque $_FILES contiene algo, pero no contiene el índice que buscas: eso significa el error que sigues obteniendo.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #10 (permalink)  
Antiguo 30/09/2014, 18:57
 
Fecha de Ingreso: marzo-2014
Mensajes: 95
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: Error de carga de archivos

OK tienes razon no lo habia notado, si me indica los valores que contiene $_FILES pero por que no puedo acceder a ellos? es un error de sintaxis?.

Mira esto es lo que me muestra var_dump().

array (size=1)
'undefined' =>
array (size=5)
'name' => string 'pendientes.txt' (length=14)
'type' => string 'text/plain' (length=10)
'tmp_name' => string 'C:\wamp\tmp\php3591.tmp' (length=23)
'error' => int 0
'size' => int 1331
  #11 (permalink)  
Antiguo 30/09/2014, 22:37
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Error de carga de archivos

Si observas, la clave de $_FILES dice "undefined" y no "archivo", pon atención.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #12 (permalink)  
Antiguo 01/10/2014, 08:53
 
Fecha de Ingreso: marzo-2014
Mensajes: 95
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: Error de carga de archivos

Pues muchas gracias por contestar pateketrueke y pues lo hice funcionar tomando como referencia undefined pero eso esta mal por que no me toma el nombre del campo file del formulario pero en fin no supe que fue lo que paso y/o por que el nombre es undefined y no "archivo" que es como se llama el input type="file" pero en fin MUCHAS GRACIAS por ayudar.

De esta forma tome los valores del archivo:
$archivob = $_FILES["undefined"]["name"];
  #13 (permalink)  
Antiguo 01/10/2014, 10:23
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Error de carga de archivos

El valor "undefined" no es algo al azar, suena mucho a Javascript, así que deberías observar si no tienes Javascript que modifique tu formulario.

Lo digo porque el manual es bien claro, y si le pones "archivo" en el name, entonces así lo deberías obtener:

http://php.net/manual/es/features.file-upload.php
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: formulario
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 07:06.