LoginSignup
10
11

More than 5 years have passed since last update.

自分用:PHPを用いたCSVファイルの書き出しとダウンロード

Last updated at Posted at 2016-11-13

PHPを用いたCSVファイルの書き出しとダウンロード

動的にcsvを作って、それをダウンロードさせたいなと思って書きました。

本当はheaderにforce-downloadを入れて強制的にダウンロードさせた後に作ったCSVファイルを削除しようかと思っていたんですけれど、その場合、そのページに文章をうまく表示できなかったのでとりあえず、ボタンクリックでできるようにしました。

ただ、この場合、今度は作ったCSVファイルの削除をこのページ内できないという……。
今後の課題ですね。

参考サイト
PDFなどのファイルを強制的にダウンロードさせる3つ方法の比較

sample.php
<html>
    <head>
    <?php
        $filepath = "./data.csv";
        $fname = "data.csv";

        //書き込むデータを2次元配列に入れる
        $csvdata = array( 
            array('aaa', 'bbb', 'ccc'),
            array('ddd', 'eee', 'fff'),
            array('ggg', 'hhh', 'iii'),
            array('111', '222', '333')
         );

        //配列からcsvファイルへの書き込み
        $fp = fopen($filepath, 'w');
        foreach ($csvdata as $fields) {
            fputcsv($fp, $fields);
        }
        fclose($fp);

    ?>
    </head>
    <body>
        <?php
            echo "<a href='{$filepath}' download='{$fname}'>CSVファイルのダウンロード</a>";
        ?>
    </body>
</html>
10
11
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
11