Foros del Web » Programando para Internet » PHP »

AYUDA con error $HTTP_POST_FILES

Estas en el tema de AYUDA con error $HTTP_POST_FILES en el foro de PHP en Foros del Web. Chicos, tengo el siguiente formulario que solicita un archivo CSV: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código HTML: Ver original < h1 > Carga de Cliente < / h1 ...
  #1 (permalink)  
Antiguo 11/03/2010, 07:24
 
Fecha de Ingreso: marzo-2008
Mensajes: 25
Antigüedad: 16 años, 1 mes
Puntos: 0
AYUDA con error $HTTP_POST_FILES

Chicos, tengo el siguiente formulario que solicita un archivo CSV:

Código HTML:
Ver original
  1. <h1> Carga de Cliente </h1>
  2. <form name="Carga" id="Carga" method="post" action="../Banred/D_CargaTablaClienteBanredCSV.php" enctype="multipart/form-data">
  3.                 <div align="center">
  4.                   <table width="435" border="0">
  5.                     <tr>
  6.                       <td>Seleccione Campaña :</td>
  7.                       <td><? $select_campanias2=dameCampanias(2); echo $select_campanias2;?></td>
  8.                     </tr>
  9.                     <tr>
  10.                       <td>Seleccione Archivo :</td>
  11.                       <td><input name="userfile" id="userfile" type="file"></td>
  12.                     </tr>
  13.                     <tr>
  14.                       <td colspan="2"><div align="center">
  15.                         <input type="button" name="Cargar" id="Cargar" value="Cargar" onClick="ValidarCarga()";>
  16.                       </div></td>
  17.                     </tr>
  18.                     <tr>
  19.                       <td colspan="2"><? if ($error_carga_csv!="" || $error_carga_csv!=NULL){ echo $error_carga_csv.". ".$total_carga."datos cargados";} ?> </td>
  20.                     </tr>
  21.                     </table>
  22.               </div>
  23.             </form>

Bien, lo que hago en la pagina a la que este formulario llama es lo siguiente :

Código PHP:
Ver original
  1. <?php
  2.  
  3.     $nombre_archivo = $HTTP_POST_FILES['userfile']['name'];
  4.     $temporal=$HTTP_POST_FILES['userfile']['tmp_name'];
  5.     move_uploaded_file($temporal,'./CargasClientes/'.$nombre_archivo);
  6.     $conn=mysql_connect("localhost","root","3ntradA");
  7.  
  8.  
  9.     $fp=fopen($nombre_archivo,"r+");
  10.  
  11.     while ($data=fgetcsv($fp,2000,",")){
  12.    
  13.        
  14.         $insertar="INSERT INTO cliente (CodCliente,TipoLlamada,Nombre,Telefono,Interno) VALUES ($data[0],'$data[1]','$data[2]','$data[3]','$data[4]')";
  15.         mysql_db_query("banred",$insertar);
  16.     }
  17.     fclose($fp);
  18.    
  19.     header ('Location:../I_Administracion.php');
  20. ?>

Perfecto, ahora, cuando cargo un archivo CSV en el formulario y le doy al boton cargar, me muestra este error :

Warning: fgetcsv() expects parameter 1 to be resource, boolean given in C:\AppServ\www\Ca5atr3s\Banred\D_CargaTablaCliente BanredCSV.php on line 11

Warning: fclose(): supplied argument is not a valid stream resource in C:\AppServ\www\Ca5atr3s\Banred\D_CargaTablaCliente BanredCSV.php on line 20


Busque por todos lados, modifique miles de cosas y aun sigue dandome error y ni miras hay de ingresar los datos del CSV a la base MySql !

Si me pueden dar una manito les agradezco !!!

Saludos !!!
  #2 (permalink)  
Antiguo 11/03/2010, 07:30
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: AYUDA con error $HTTP_POST_FILES

En vez de usar $HTTP_POST_FILES, están obsoleta, usa $_FILES. Verifica que estas recibiendo los datos correctos, usa var_dump para ver que tiene la variable $nombre.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 11/03/2010, 07:32
Avatar de eulloa  
Fecha de Ingreso: octubre-2007
Ubicación: Donde caiga la noche, si mi hijo me deja
Mensajes: 691
Antigüedad: 16 años, 6 meses
Puntos: 5
Respuesta: AYUDA con error $HTTP_POST_FILES

Me imagino q tu problema esté con la línea
Código PHP:
Ver original
  1. $nombre_archivo = $HTTP_POST_FILES['userfile']['name'];
Acá creo q lo q estás haciendo es tomando el nombre del archivo...........
Pregunta ¿Lo que tienes q ingresar a la BD es el contenido del archivo sea lo q sea q tenga, o es una BD en CSV para migrar a mysql?
  #4 (permalink)  
Antiguo 11/03/2010, 07:38
 
Fecha de Ingreso: marzo-2008
Mensajes: 25
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: AYUDA con error $HTTP_POST_FILES

Mil gracias !!! Hacia un año que no tocaba PHP y hay muchos cambios en la vuelta jejeje
  #5 (permalink)  
Antiguo 11/03/2010, 07:39
 
Fecha de Ingreso: marzo-2008
Mensajes: 25
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: AYUDA con error $HTTP_POST_FILES

Eulloa , lo que tenia que cargar a la base de datos MySql son datos con una estructura de columnas predeterminada, que se carga en un csv y se importa a la base.
Luego levanto esos datos en un CRM que ya genere para que Telemarketers llamen a los clientes.

Saludos
  #6 (permalink)  
Antiguo 11/03/2010, 07:50
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: AYUDA con error $HTTP_POST_FILES

Y el fopen no deberias poner tb la ruta?
Código PHP:
  $fp=fopen($nombre_archivo,"r+"); 
no deberia ser esto? :
Código PHP:
  $fp=fopen('./CargasClientes/'.$nombre_archivo,"r+"); 
  #7 (permalink)  
Antiguo 11/03/2010, 09:11
 
Fecha de Ingreso: marzo-2008
Mensajes: 25
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: AYUDA con error $HTTP_POST_FILES

ELEAZAN :
Ese fue el proximo error que me dio jeje pero ya esta solucionado tambien y quedo funcionando todo perfectamente !!
Muchas gracias a todos por su ayuda !!!

Etiquetas: Ninguno
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 18:10.