j'ai un petit problème pour un export en CSV.
Je lance l'exportation sur une page X contenant un formulaire en cliquant sur le bouton de soumission.
La page est alors rechargée et avant l'affichage html je crée mon fichier csv par une fonction qui :
- crée le fichier
- y écrit les infos au format csv séparés par un ;
- referme le fichier
- propose le popup de téléchargement du navigateur (ouvrir, enregistrer, annuler)
Le problème est que dans le fichier csv téléchargé, on retrouve tout le code HTML de la page X à la fin du fichier.
J'aimerais savoir comment éviter que ce code HTML ne soit écrit dans le fichier?
voici le code de la fonction:
public function exporterCSV($nomFichier='fichier_export_csv.csv') {
$fichier = fopen($nomFichier, 'w');
$entete = array('adresse mail','code postal','pays');
fputcsv($fichier,$entete,';');
foreach($this->liste as $utilisateur){
$tab = array($utilisateur->getMail(),$utilisateur->getCp(),$utilisateur->getPays);
fputcsv($fichier,$tab,';');
}
fclose($fichier);
// on propose le fichier en téléchargement
header('Content-type: application/csv');
header('Content-Disposition: attachment; filename="'.$nomFichier.'"');
readfile($nomFichier);
}