この記事の最終更新日: 2023年2月1日
PHPでCSVを出力するには、fputcsv関数を使用します。fputcsv関数は、CSV形式でデータを出力するための関数です。
下記は、CSVファイルを出力するサンプルコードです。
<?php
// CSVファイルのパスを指定
$csvFile = "data.csv";
// CSVファイルを開く
$file = fopen($csvFile, "w");
// CSVデータの配列
$csvData = [['Name', 'Age'], ['John', 30], ['Jane', 25]];
// CSVデータを書き込む
foreach ($csvData as $line) {
fputcsv($file, $line);
}
// CSVファイルを閉じる
fclose($file);
echo "CSVファイルを出力しました。";
?>
この例では、「data.csv」というファイルを作成し、CSV形式でデータを書き込んでいます。fputcsv関数には、2つの引数があり、1つ目はファイルのリソース、2つ目は書き込むデータの配列を指定します。
もしくは、第三者のライブラリを使用することもできます。
$ composer require league/csv
上記コマンドを実行し、league/csvをインストールした上で、
<?php
use League\Csv\Writer;
// CSVデータを作成
$data = [['Name', 'Age'], ['John', 30], ['Jane', 25]];
// CSVデータを出力(ダウンロード)
$csv = Writer::createFromFileObject(new SplTempFileObject());
$csv->insertAll($data);
$csv->output('data.csv');
// CSVデータをファイルに保存
$csv = Writer::createFromPath('path/to/data.csv', 'w');
$csv->insertAll($data);
?>
とすることで、同じことを実現することができます。
ちなみに、CSVのデータの行末や行頭、文字コードなどを指定することができます。

大阪のエンジニアが書いているブログ。
コメント