Foros del Web » Programando para Internet » PHP »

Descargar un csv

Estas en el tema de Descargar un csv en el foro de PHP en Foros del Web. Saludos, tengo un pequeño problema, estoy generando desde php un archivo CSV, si lo realiza pero quiero que me de la opcion a descargarlo, intente ...
  #1 (permalink)  
Antiguo 15/04/2010, 09:13
 
Fecha de Ingreso: abril-2010
Mensajes: 115
Antigüedad: 14 años
Puntos: 2
Busqueda Descargar un csv

Saludos, tengo un pequeño problema, estoy generando desde php un archivo CSV, si lo realiza pero quiero que me de la opcion a descargarlo, intente con estas cabeceras, pero me descarga elcodigo de la pagina y no mi archivo...
Código PHP:
Ver original
  1. header("Content-Description: File Transfer");
  2. header("Content-Type: application/force-download");
  3. header("Content-Disposition: attachment; filename=Lista.csv");

Alguie podria asesorarme un poco??

gracias
  #2 (permalink)  
Antiguo 15/04/2010, 09:21
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Descargar un csv

lo que sucede es que debes enviar dichas cabeceras al inicio del script... antes de enviar otra cosa, y luego debes imprimir el contenido del archivo a descargar...

hay que adivinar como lo haces o lo estás haciendo bien??
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 15/04/2010, 09:29
 
Fecha de Ingreso: abril-2010
Mensajes: 115
Antigüedad: 14 años
Puntos: 2
Respuesta: Descargar un csv

jajaja tienes razon se me pasoponer mi codigo

pero aki esta
Código PHP:
Ver original
  1. if(isset($_POST['exportar']) && !empty($_POST['exportar'])
  2.     && isset($_POST['campos']) && !empty($_POST['campos'])
  3.     ){
  4.  
  5. // Si entramos es que todo se ha realizado correctamente
  6. $id_listas =$_POST['exportar'];
  7. $campos =$_POST['campos'];
  8. $i=count($id_listas);
  9.  
  10. if($campos == 1){
  11.  
  12. for($a=0;$a< $i; $a++){
  13.  
  14. $csv_end = "  
  15. ";  
  16. $csv_sep = ",";  //aqui se saca la informacion y la separamos por coma
  17. $csv_file = "Lista.csv";  
  18. $csv="";  
  19. $sql="SELECT * from usuarios where id_listas=".$id_listas[$a];  
  20. $res=mysql_query($sql);
  21.  
  22. while($row=mysql_fetch_array($res))  
  23. {  
  24.     $csv.=$row['nombre'].$csv_sep.$row['appaterno'].$csv_sep.$row['apmaterno'].$csv_sep.$row['email'].$csv_sep.$row['telefono'].$csv_sep.$row['direccion'].$csv_sep.$row['ciudad'].$csv_sep.$row['id_listas'].$csv_end;  }  
  25. //Generamos el csv de todos los datos  
  26. if (!$handle = fopen($csv_file, "w")) {  
  27.     echo "Cannot open file";  
  28.     exit;  }  
  29. if (fwrite($handle, utf8_decode($csv)) === FALSE) {  
  30.     echo "Cannot write to file";  
  31.     exit;  }  
  32. fclose($handle);  
  33. // It will be called downloaded.pdf
  34. }//###################LLAVE DEL FOR
  35. }//###################Campos == 1
  36.  
  37. elseif($campos==2){
  38. for($a=0;$a< $i; $a++){
  39. $csv_end = "  
  40. ";  
  41. $csv_sep = ",";  //aqui se saca la informacion y la separamos por coma
  42. $csv_file = "Lista.csv";  
  43. $csv="";  
  44. $sql="SELECT * from usuarios where id_listas=".$id_listas[$a];  
  45. $res=mysql_query($sql);
  46.  
  47. while($row=mysql_fetch_array($res))  
  48. {  
  49.     $csv.=$row['email'].$csv_end;  }  
  50. //Generamos el csv de todos los datos  
  51. if (!$handle = fopen($csv_file, "w")) {  
  52.     echo "Cannot open file";  
  53.     exit;  }  
  54. if (fwrite($handle, utf8_decode($csv)) === FALSE) {  
  55.     echo "Cannot write to file";  
  56.     exit;  }  
  57. fclose($handle);  
  58.  
  59.  
  60. }//###################LLAVE DEL FOR
  61.     }//##################### ELSE
Y me supongo ke las cabeceras las devo de poner al principio de i pagina verdad? hay algun problema si lo tengo en 2 paginas distintas?, por ke mi problema es que de una pagina mando Id_lista por un post y lo recibo en esta Pagina pero con esas cabeceras se keda en la pagina anterior y me devuelve en el archivo el codigo de mi pagina
  #4 (permalink)  
Antiguo 15/04/2010, 09:38
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Descargar un csv

como te menciono, debes colocar las cabeceras antes de enviar la información del archivo... y lo que si suena extraño es que te descargue el código de la pagina.. ¿te refieres al código PHP??
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 15/04/2010, 12:00
 
Fecha de Ingreso: abril-2010
Mensajes: 115
Antigüedad: 14 años
Puntos: 2
Respuesta: Descargar un csv

si, me captura elcodigo php jajaja, muchas gracias

Etiquetas: csv
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:47.