Vous essayez de créer un fichier csv avec une exportation à partir de notre base de données. C'est le code im using:Impression de PHP au navigateur au lieu du fichier CSV
if(isset($_POST["Export"])){
header('Content-Type: text/csv; charset=utf-8');
header('Content-Disposition: attachment; filename=data.csv');
$output = fopen("php://output", "w");
fputcsv($output, array('ID', 'Name', 'Email', 'Phone'));
$query = "SELECT userID, name, email, phone from user ORDER BY userID DESC";
$result = mysql_query($query);
while($row = mysql_fetch_assoc($result))
{
fputcsv($output, $row);
}
fclose($output);
Quand je clique sur le bouton d'exportation, il charge cette page de PHP avec les résultats corrects dans le navigateur. Cependant, je ne peux pas obtenir les résultats à stocker dans un fichier. Toute aide serait appréciée.
Ces en-têtes sont exactement comment je crée des téléchargements CSV (sans l'utf-8 cependant, mais cela ne devrait pas poser de problème). Problèmes possibles: Vérifiez d'abord que les en-têtes sont envoyés au navigateur (F12 puis onglet Réseau), la sortie possible (non désirée) avant que vous définissiez les en-têtes les cassera (cela déclenche également un avertissement dans votre error_log). 2ème: essayez de citer le nom de fichier 'filename =" data.csv "', juste pour être sûr, 3ème: essayez un autre navigateur pour vérifier que ce n'est pas un bug de navigateur (le vôtre ne serait pas le premier) –
Hey @PetervanderWal, Merci pour la réponse. 1. Je vois l'en-tête correct avec toutes les données de base de données dans l'aperçu. 2. J'ai essayé de citer le nom de fichier, et rien, malheureusement. 3. Essayé dans Chrome et Firefox – matture