par
d0m » 17 juin 2010, 12:30
Bonjour,
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)
Ensuite le corps de la page X s'affiche.
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);
}
Bonjour,
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 :
[list][*]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)[/list]
Ensuite le corps de la page X s'affiche.
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:
[php]
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);
}
[/php]