J'ai besoin d'un moyen de rendre la fonction fputscv
écrire des données au navigateur à la volée au lieu de créer un fichier temporaire, en enregistrant les données dans ce fichier et en faisant un echo file_get_contents()
. Aidez-moi!!!Comment faire fputcsv "echo" les données
25
A
Répondre
37
trouvé sur le site docs PHP, premier commentaire sous la référence de la fonction:
function outputCSV($data) {
$outstream = fopen("php://output", 'w');
function __outputCSV(&$vals, $key, $filehandler) {
fputcsv($filehandler, $vals, ';', '"');
}
array_walk($data, '__outputCSV', $outstream);
fclose($outstream);
}
Et une seconde option:
$csv = fopen('php://temp/maxmemory:'. (5*1024*1024), 'r+');
fputcsv($csv, array('blah','blah'));
rewind($csv);
// put it all in a variable
$output = stream_get_contents($csv);
Hope this helps!
BTW les documents PHP devraient toujours être votre premier arrêt en essayant de comprendre les choses. :-)
-2
http://www.codehive.net/PHP-Array-to-CSV-1.html vous donnera une fonction qui répond aux exigences de ne pas utiliser le système de fichiers.
14
<?php
$out = fopen('php://output', 'w');
fputcsv($out, array('this','is some', 'csv "stuff", you know.'));
fclose($out);
?>
2
Comme le voulait asker original « écrire sur le navigateur à la volée », est peut-être intéressant de noter (comme cela a été mon cas et Noone mentionné) que si vous voulez forcer un fichier nom et une boîte de dialogue demandant de télécharger un fichier dans le navigateur, vous devez définir les en-têtes appropriés avant la sortie quelque chose avec fputcsv
:
header('Content-Type: text/csv; charset=utf-8');
header('Content-Disposition: attachment; filename=myFile.csv');
Questions connexes
- 1. colonne d'écrasement avec fputcsv
- 2. fputCSV comportement étrange
- 3. fputcsv et les codes de nouvelle ligne
- 4. Comment faire pour ignorer certains champs de la base de données tout en utilisant fputcsv
- 5. Php fputcsv trouble à Col
- 6. fputcsv renvoie des valeurs doubles
- 7. fputcsv et fgetcsv
- 8. php fputcsv et enserrant champs
- 9. PHP + XPath + fputcsv - Stocker des données dans des tableaux
- 10. "echo" dans les fonctions ou "echo" toutes les pages?
- 11. Modifier les noms de colonnes mysql à utiliser avec FPutCSV()
- 12. fputcsv - La fonction donne une erreur.
- 13. fputcsv ne retourne qu'une ligne du tableau
- 14. Echo Echo PHP
- 15. fichier echo Faire afficher "$ PATH" string
- 16. PHP fputcsv avec UTF-8 Problème
- 17. Comment echo stdin stdout
- 18. Comment echo tableau retour
- 19. Obtenir la valeur de retour de fputcsv
- 20. Echo html + php base de données
- 21. PHP fputcsv() ne fonctionne pas correctement
- 22. php echo gros morceau de données
- 23. données Echo de base de données dans chaque fois obtenir
- 24. comment echo/imprimer une instruction
- 25. comment chercher des données dans wordpress puis echo?
- 26. données php echo à l'aide <=
- 27. ECHO dans un ECHO dans un IF
- 28. variable echo php entre les scripts php
- 29. Comment echo correctement de json_decode dans php
- 30. format .csv données créées avec fputcsv dans des tableaux de type Excel
Zut ... comment pourrais-je manquer ça !!! –
le outputCSV() du site PHP ne fonctionne pas, avez-vous même testé cela? –
J'ai répondu à cette question il y a 4+ ans, peut-être que quelque chose a changé? Je ne peux pas honnêtement dire si je l'ai essayé ou non, mais je suppose que je l'aurais fait. N'hésitez pas à développer sur ce qui ne fonctionne pas exactement au lieu de votre réponse vide sans aucun détail, et peut-être que je vais regarder plus loin. –