Web.fla

主食は、html/css/php/javascript(jQuery) デザートはactionscript!WEBに関することをメモってくサイト

*

【PHP】CSV ファイルをダウンロードするプログラムは?

      2015/07/10

phpでCSVをダウンロードする時って割と見ると思うんですが、そういえばphpでCSVをダウンロードする方法を割りと知らなかったりするのでメモ。

今回、試したのがあるサイトのAPIを利用してjsonファイルからCSVファイルを作成してそれをダウンロードするという流れです。

この方法に関しては、まぁ割と一般的というは誰が書いても同じだと思うので詳しい説明は省いて書いておきます。

CSVをダウンロードするphpファイル

CSVファイルをダウンロードするプログラムのコードを載せます。
下記のような記述をする事で、プログラムで開くかダウンロードして保存するかのダイアログが標示させる仕組みとなる。*ただしGoogle Chromeだとそのままダウンロードされてしまう。

上記のファイルをdownload.phpというファイルで作りました。*名前は任意

実際にCSVファイルを作成してダウンロードするまでの流れ

実際に自分がCSVファイルを作成して、ダウンロードするまでのファイルを載せておきます。とりあえずCSVファイルが無いと話にならないので、サーバー上に「sample.csv」というファイルを準備しておきます。

準備したファイルは下記のファイルです。

index.php jsonファイルからCSVを作るファイル
download.php ダイアログを表示してCSVファイルをダウンロードするためのファイル
sample.csv CSVファイル

CSVファイルを作成するファイル

CSVをとあるサイトのAPIからCSVを作成するindex.phpの内容です。今回はCSVファイルをダウンロードするのが目的なので、CSV作成に関してはあくまでダミーです。

ざっくり説明するとjsonファイルからデータを取得して、foreach文でデータを取り出しCSVファイルを作成しています。

その後に、予め用意しておいたsample.csvファイルをfopenで開き今回は上書きする為一旦ファイルを全部空の状態にしてデータをCSVファイルに書き込んでいく。という流れです。あとはindex.php内でdownload.phpへのリンクを張ればいいです。

で、最初に記載したCSVをダウンロードする為のdownload.phpファイルをそのままコピペして(CSVのファイル名は任意)ファイルを用意すればオッケーです。

 - php ,

     

Message

  関連記事

【PHP】サムネイル画像を作成・保存

よくプロフィール画像をアップしたりするとサムネイル画像を表示するときがあると思う …

【PHP】ページ送り機能|連番で振っていくバージョン

phpの案件でデータを10件ずつ表示されて次のデータを表示するときに「次」「前」 …

PHPでフォームから入力された文字列が全角・半角スペースのみの場合のチェック

検索すれば、沢山でてくると思うけど、よくフォームで入力した値をphpでチェック( …

【PHP】PHPでリロード対策をして二重投稿を防止しよう

phpでフォームとか作ってデータを送信できた!!!って喜んでるのもつかの間(笑い …

PHPでユーザーエージェントを判別

前回はjavscriptでユーザーエージェントを判別していたが、PHPもついでに …

【PHP】unlinkを利用したフォルダ内のファイルを削除する

まぁ、久々に投稿。てことでそのままになっていた、よくファイルをアップロードする仕 …

no image
mysqlの文字化け対策

フォームから入力した値をmysqlのテーブルに登録するときに日本語が化けてしまっ …

no image
SESSIONの破棄

session変数を破棄する方法を調べてみたら以外にテンプレのように決まってるっ …

【PHP】画像ファイルのアップロードから削除までの流れ

ここまでPHPでファイルのアップロードやフォルダ内のファイル一覧表示などを記事を …

【PHP】 scandirによるフォルダ内のファイル一覧を表示する

フォルダにあるファイルを取得して表示する処理、例えば画像一覧を表示するどありそう …