Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/04/2018, 02:44
mensajeescrito
 
Fecha de Ingreso: mayo-2012
Mensajes: 760
Antigüedad: 11 años, 11 meses
Puntos: 5
Descargar copia de una tabla de una BBDD con php

Hola amigas/os, verán tengo un codigo que me funciona y al ejecutarlo me conecta a una BBDD seleccionando una tabla que le indico en el codigo y acto seguido en el navegador me sale una ventana de descarga de dicha tabla en formato. csv

Mi pregunta es:
¿Como se podría descargar esa tabla pero de manera automatica es decir sin que me salga una ventanita que diga "descargar archivo nombre_tabla.csv"?

Vamos que al ejecutar el script php directamente me descargue el archivo nombre_tabla.csv directamente.



Este es el codigo:

Código PHP:
Ver original
  1. //GUARDAR TABLA DE UNA BBDD EN .CSV EN LOCAL.................................................................
  2.  
  3.     $db = mysqli_connect("localhost", "root", "", "nombreBBDD");
  4.  
  5.  
  6.  
  7.     $result = mysqli_query($db, "SELECT * FROM nombre_tabla", MYSQLI_USE_RESULT);
  8.  
  9.     header("Content-Type: application/force-download");
  10.     header("Content-Type: application/octet-stream");
  11.     header("Content-Type: application/download");
  12.     header("Content-Disposition: attachment;filename=\"export_table.csv\"");
  13.     header("Content-Transfer-Encoding: binary");
  14.     header("Pragma: public");
  15.     header("Expires: 0");
  16.     header("Cache-Control: max-age=0, no-cache, must-revalidate, proxy-revalidate, post-check=0, pre-check=0");
  17.     header("Cache-Control: private",false);
  18.  
  19.     $output = fopen('php://output', 'w');
  20.  
  21.         fputcsv($output, array('ID','Column1','Column2','Column3'));
  22.  
  23.     while ($row = mysqli_fetch_assoc($result))
  24.         {
  25.         fputcsv($output, $row);
  26.         }
  27.  
  28.     fclose($output);
  29.     mysqli_free_result($result);
  30.     mysqli_close($db);

Gracias de antemano.

Última edición por mensajeescrito; 26/04/2018 a las 03:01