2017-11-04 3 views
0

Wenn ich diesen Code verwenden, um Inhalte in die CSV-Datei herunterzuladen und den Benutzer, Es zeigt nur die Abfrage auf die Website ...Kann nicht bekommen PHP CSV für den Benutzer zum Download

$result = $conn->query($sql); 

if (mysqli_num_rows($result) > 0) { 
$counter=1; 

// open file and put herder to csv file 
$file = fopen('php://output', 'w'); 
fputcsv($file, array('id','name','test1','test2')); 
// put content to csv file 
while ($row = mysqli_fetch_assoc($result)) { 

    fputcsv($file, array($counter++,$row['name'], 
         ($row['test1']!=-1)?$row['test1']:'null',($row['test2']!=-1)?$row['test2']:'null')); 
} 
$csv_name=(isset($_GET['device'])&&$_GET['device']!='')?$_GET['device']:"all_devices"; 
header('Content-Type: text/csv; charset=utf-8'); 
header('Content-Disposition: attachment;'. 
     'filename='.$csv_name.'_'.date('Y-m-d').'.csv'); 
} else { 
    echo "No device found"; 
} 
+0

hallo da funktioniert es für dich? –

Antwort

-1

beiseite durch Bewegung header() Anruf vor fputcsv(), können Sie output buffering zu umgehen, indem Sie ob_start() am Anfang und ob_end_flush() am Ende Ihres Skripts aufrufen.

Verwandte Themen