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】画像をダウンロードして特定のディレクトリに保存する方法

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

【PHP】sessionの完全な破棄

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

phpでの正規表現によるバリデートの練習

フォームで入力された値を正規表現でチェックしてチェックした値が正しければ送信ボタ …

【PHP】WebサービスのAPIを使ってCSVファイルを作ってみた!

久々にPHPのネタでも書こうかと。 PHPとってもここ最近いろんなWebサービス …

phpでfor文で列で横並びさせるときに左のみマージンをなくす

まぁある案件で、画像ギャラリーをphpで管理していたときにcsvデータからデータ …

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

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

【PHP】mb_send_mailでメールを送信してみる

お問い合わせなどのメールフォーム。今となっては当たり前の技術ですが仕組みを知って …

no image
hidden タグで配列を送信するには?

フォームなどでチェックボックスでチェックを入れた値は「$_post」で受け取れる …

no image
mysqlの文字化け対策

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

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

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