2017-06-30 7 views
0

Im Versuch, einen CSV-Export von Daten in einem Array auf meiner Website eingegeben. Ich habe this question verwendet, um mir zu helfen. Ich bekomme die Daten, die in der CSV-Datei enthalten sein sollten, auf meiner Website, aber nicht in eine Datei exportiert. Dies ist der Code, den ich von der Frage nahm:Export in CSV mit fputcsv()

 header("Content-Type: text/csv;charset=utf-8"); 
     header("Content-Disposition: attachment;filename=\"$filename\""); 
     header("Pragma: no-cache"); 
     header("Expires: 0"); 

     $fp= fopen('php://output', 'w'); 

     foreach ($data as $fields){ 
      fputcsv($fp, $fields); 
     } 
     fclose($fp); 
     exit(); 

Ich nicht genau verstehen, was die header() Funktionen tun. Wie würde ich das in eine Datei herunterladen?

, wenn es hilft meinem Array in diesem Format ist:

$data = array(dataset1(array, of, data), dataset2(array, of, data), dataset#(array, of, data)); 

EDIT: Meine $ data-Array ist in einer Sitzung varible und der Grund, warum es das Herunterladen wasnt war dort, weil ich session_start hatte() und einige zumin die Spitze. Anstatt es herunterzuladen, würde es auf dem Bildschirm erscheinen, aber wenn ich es entferne, wird es heruntergeladen, ohne dass Daten exportiert werden müssen. Hat jemand eine Lösung?

+1

Sie deklarieren die Datei als CSV-Datei mit dem Zeichensatz UTF-8 und benennen die Datei entsprechend. Dies ist ein hervorragendes Tutorial. ---> http://code.stephenmorley.org/php/creating-downloadable-csv-files/ – clearshot66

+1

Durch Senden des HTTP-Headers "Content-Disposition: attachment;" Sie sagen dem Browser, dass er die Ausgabe nicht anzeigen soll, sondern als Datei mit dem Namen, den Sie in $ filename angegeben haben. Also eigentlich sollte dieser Code den Download einer Datei auslösen. – masterfloda

Antwort

0

Die Funktion header() sendet HTTP-Header mit den entsprechenden Werten an Ihren Browser. Anschließend werden die CSV-Daten an den Ausgabestream gesendet, den der Browser aufgrund der Header als herunterladbare Datei interpretiert.