开发者

write into csv file in php

I have to create and write into a csv file. Now I tried with the following code:

header('Content-type: application/octet-stream');  
header('Content-disposition: attachment; filename="data.csv"');    
$data = array (
    'aaa,bbb,ccc,dddd',
    '123,456,789',
    '"aaa","bbb"');

$fp = fopen('php://output', 'w+');  
foreach($data as $line){
    $val = explode(",",$line);
    fputcsv($fp, $val);
}
fclose($fp);  

It gives me my source 开发者_运维知识库file code also in the csv file? How can I solve this?


Wrap it in <?php and ?> tags.


Change the first header to header('Content-type: text/csv');


header() needs to come after the array and fopen

try this:

$data = array (
    'aaa,bbb,ccc,dddd',
    '123,456,789',
    '"aaa","bbb"');
$fp = fopen('php://output', 'w+'); 
header('Content-type: application/octet-stream');  
header('Content-disposition: attachment; filename="data.csv"'); 
foreach($data as $line){
    $val = explode(",",$line);
    fputcsv($fp, $val);
}
fclose($fp);


Try this:

header('Content-Type: text/csv; charset=utf-8');
header('Content-Disposition: attachment; filename=data.csv');

$data = array (
    'aaa,bbb,ccc,dddd',
    '123,456,789',
    '"aaa","bbb"');


$fp = fopen('php://output','w');
foreach ($data as $line) {
    fputcsv($fp, array_map('utf8_decode',array_values($line)), ',', '"');
}
fclose($fp);
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜