Ho bisogno di un modo per rendere la funzione fputscv
scrivere i dati sul browser al volo invece di creare un file temporaneo, salvando i dati in quel file e facendo un echo file_get_contents()
. Aiuto!!!Come rendere fputcsv "echo" i dati
25
A
risposta
37
trovato questo sul sito web documenti PHP, primo commento sotto il riferimento alla funzione:
function outputCSV($data) {
$outstream = fopen("php://output", 'w');
function __outputCSV(&$vals, $key, $filehandler) {
fputcsv($filehandler, $vals, ';', '"');
}
array_walk($data, '__outputCSV', $outstream);
fclose($outstream);
}
E una seconda opzione:
$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);
Spero che questo aiuti!
BTW i documenti PHP dovrebbero essere sempre la prima tappa quando si cerca di capire le cose. :-)
-2
http://www.codehive.net/PHP-Array-to-CSV-1.html ti fornirà una funzione che si adatta alle esigenze di non utilizzare il file system.
14
<?php
$out = fopen('php://output', 'w');
fputcsv($out, array('this','is some', 'csv "stuff", you know.'));
fclose($out);
?>
2
Come il richiedente originale voluto "scrivere al browser al volo", forse è degno di nota (come era il mio caso e nessuno ne ha parlato) che, se si vuole forzare un file nome e una finestra di dialogo che chiede di scaricare un file nel browser, è necessario impostare le intestazioni appropriate prima di emettere qualsiasi cosa con fputcsv
:
header('Content-Type: text/csv; charset=utf-8');
header('Content-Disposition: attachment; filename=myFile.csv');
Problemi correlati
- 1. Come si usa foreach in fputcsv?
- 2. Come echo i valori di questo array?
- 3. php fputcsv e racchiudono campi
- 4. Come posso modificare le terminazioni di linea utilizzate da fputcsv?
- 5. Come rendere pubblici i dati di Google Analytics?
- 6. Come rendere ngInfiniteScroll recuperare i dati da createdAt Discendente
- 7. fputcsv in PHP non scriverà sul file
- 8. Come "echo" una classe?
- 9. Ottieni il valore restituito da fputcsv
- 10. Posso usare ECHO per eseguire i comandi?
- 11. Echo off ma vengono visualizzati i messaggi
- 12. Come rendere i pannelli ridimensionabili?
- 13. Differenza tra "@echo off" e "@echo% off"?
- 14. Come rendere MEMORY ENGINE mysql più dati?
- 15. Come echo JSON in PHP
- 16. come stile php echo output
- 17. Rendere sicuri i set di dati in C#
- 18. Come posso echo su/dev/tty?
- 19. php: echo "", print(), printf()
- 20. Echo an $ _POST in PHP
- 21. Python rendere i sistemi
- 22. Come rendere i font css personalizzati esattamente come i disegni
- 23. Come rendere i caratteri nitidi nei CSS?
- 24. Come rendere i grafici ggplot2 più belli?
- 25. Come rendere i servizi attivi altamente disponibili?
- 26. Come rendere obbligatori i parametri in PowerShell?
- 27. Come rendere R utilizzare tutti i processori?
- 28. Come rendere i tag in Flask/GAE?
- 29. Come rendere Meteor ignorare i file?
- 30. Come rendere i percorsi nidificati di Angularjs?
Accidenti ... come potevo perdere questa !!! –
l'outputCSV() dal sito Web di PHP non funziona, l'hai mai provato? –
Ho risposto a questa domanda 4+ anni fa, forse qualcosa è cambiato? Non posso onestamente dire se ci ho provato o no, ma sospetto che lo farei. Sentiti libero di espandere ciò che non funziona esattamente al posto della tua risposta vuota senza dettagli, e forse lo esaminerò ulteriormente. –