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によるcsvの複数行の削除方法が知りたい。

さて、最近ちょいちょいPHPに興味を再び持ち始めています。なぜかサーバーサイドで …

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

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

[PHP]CSVを読み込み時、文字化けさせないで読み込む方法とは!?

PHPを利用してCSVを読み込んだり書き込んだりする処理はよくあると思います。た …

【PHP】Cookie(クッキー)にデータを保存するには!?

PHPでプログラムする上でやっぱCookie(クッキー)について勉強することもあ …

【PHP】多次元配列をあるキーを基準に並び替えたい

ある案件で画像のパス、タイトル、カテゴリ、リンク先などのデータを多次元配列で管理 …

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

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

【PHP】sessionの完全な破棄

よくあるログインすると「~~様こんにちは」みたいなログイン情報を保持して破棄する …

【PHP】画像をダウンロードして特定のディレクトリに保存する方法

よくブラウザで画像を右クリック名前をつけて保存。なんていうのやることあるけど、p …

【wordpress】個別記事ページでアイキャッチ画像に元画像へのリンク張るには?

まぁwordpress最近全く弄ってません。なぜなら最近は、すばらしいテーマがあ …

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

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