1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| $date = date("y-m-d-H-i-s");//pour dater le fichier
$fichier_de_sauvegarde = 'mon_fichier-'.$date.'.csv'; //nom du fichier proposé en téléchargement
$connexion_bdd = ... // connexion à la base
$query = "SELECT ... FROM table WHERE ...";
$result = mysqli_query($connexion_bdd,$query,MYSQLI_USE_RESULT);
$handle = tmpfile();// Création du fichier temporaire
$info = stream_get_meta_data($handle);// servira pour avoir la taille du fichier
if($result && $handle)
{
$colonnes = array('Colonne1','Colonne2','Colonne3');// pour créer ta première ligne correspondant aux entêtes de colonne (ici trois colonnes)
fputcsv($handle, $colonnes, ';');
while ($line = mysqli_fetch_row($result)) fputcsv($handle, $line, ';');
mysqli_free_result($result);
}
$filesize = filesize($info['uri']);
header("Content-Type: application/force-download; name=\"".$fichier_de_sauvegarde."\"");
header("Content-Transfer-Encoding: text/csv");
header("Content-Length: ".$filesize);
header("Content-Disposition: attachment; filename=\"".$fichier_de_sauvegarde."\"");
header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0, public");
header("Pragma: no-cache");
header("Expires: 0");
rewind($handle);
fpassthru($handle);
fclose($handle);
exit; |
Partager