J'ai déjà vu cela auparavant et j'ai de la difficulté à le faire fonctionner correctement après avoir essayé un certain nombre de solutions. Le problème est que je ne peux pas exporter correctement mes données dans un format csv. Avant d'ajouter mon ob_end_clean, je l'exportais vers un csv avec html, maintenant il ne me donne pas de csv, juste du texte.Mon exportation csv affichant html, comment se débarrasser de?
Voici mon code sur le fichier qui est requis.
if (isset($_POST["hidden"])) {
$list = array (
array('aaa', 'bbb', 'ccc', 'dddd'),
array('123', '456', '789'),
array('"aaa"', '"bbb"')
);
$fp = fopen('php://output','w');
foreach ($list as $row) {
ob_end_clean();
fputcsv($fp, $row);
}
header('Content-Type: text/csv; charset=utf-8');
header('Content-Disposition: attachment; filename=data.csv');
}
En ce moment, quand je fais mon exportation, les données obtient remettre sur l'écran similaire à un var_dump(). Je veux simplement que cela se passe dans un fichier csv sans avoir le html partout.
Avez-vous du code HTML brut avant cet extrait de code? Avez-vous essayé de déplacer le ob_end_clean() avant la sortie foreach/CSV? – mario
Ouais j'ai un besoin sur un autre fichier qui fait écho à certains html. – wowzuzz
Eh bien, vous ne devriez faire qu'une seule chose, soit générer une page HTML ** ou ** CSV de sortie. Déplacez le code CSV dans un script séparé. – mario