2009-05-08 4 views
2

Ich habe ein Problem mit meiner Funktion. Der Zweck meiner Funktion ist es, eine Zeichenfolge zum Herunterladen zu erzwingen. Was wirklich passiert ist, dass die Zeichenfolge auf den Bildschirm ausgegeben und nicht heruntergeladen wird.Force String Download mit http-Header

Dies ist meine Funktion:

function arrayToCSV($vectorDados, $cabecalho) 
{ 
    $arr = array(); 
    $arr=$vectorDados; 

    $csv = $cabecalho . "\n"; 
    foreach($arr as $row) { 
     $csv .=$row[0] . " " . $row[1] . " ". $row[2] . " " .$row[3] . " \n"; 
    } 
    $filename = "emails_".date("Y-m-d_H-i",time()); 


    header ("Content-Type: application/octet-stream"); 
    header ("Content-disposition: attachment; filename=".$filename.".csv"); 
    print $csv; 
} 

Antwort

3

Das Problem ist nicht mit war die Funktion.

Durch Hinzufügen von ob_start() zum Hauptcode, jetzt kann ich meine Zeichenfolge herunterladen.

1

Try Content-Disposition mit einem Kapital D.

(und vielleicht auch text/csv für die Content-Type)

+0

Fertig, aber die Zeichenfolge wird weiterhin auf dem Bildschirm ausgegeben. Danke trotzdem – RSilva