PHPでCSVファイルを出力する方法

yurupro_php_csv_outputPHP
この記事は約2分で読めます。

この記事の最終更新日: 2023年1月26日

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のデータの行末や行頭、文字コードなどを指定することができます。

コメント

タイトルとURLをコピーしました