1. ホーム
  2. php

phpでcsvファイルを作成する

2023-10-28 23:07:18

質問

csvファイルを作成したいのですが、コードを実行すると白紙のページが返され、csvファイルが作成されないのです。私はPHP 5を使用しています。 私は以下のコードを使用しています。

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

    $fp = fopen('data.csv', 'w');
    foreach($data as $line){
             $val = explode(",",$line);
             fputcsv($fp, $val);
    }
    fclose($fp);
?>

ありがとうございました。

どのように解決するのですか?

空白になっているのは file に書き込む必要があります。 output を使って php://output の代わりに、csvであることを示すヘッダ情報を送信します。

header('Content-Type: text/csv');
header('Content-Disposition: attachment; filename="sample.csv"');
$data = array(
        'aaa,bbb,ccc,dddd',
        '123,456,789',
        '"aaa","bbb"'
);

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