PHPでクリックした時にファイルをダウンロードさせる設定

右クリックで「ファイル保存」しなくても、クリックするだけでブラウザのダウンロードウィンドウが開いてダウンロードが始まるようにするPHP。
普通にファイルにリンクを張ると、ブラウザによってはウィンドウ内でファイルを開いてしまうことがあるので・・・。
csvとか、動画とかのダウンロードで使うことが多いかな。


sample.phpを、download.htmlからAタグやフォームのボタンで読み込む。
実際にダウンロードさせるファイルは、sample.phpにパスを記載する。


■ download.html

テキストリンクの場合<br />
<a href="sample.php">sample.csvをダウンロードする</a>
<br /><br />


フォームボタンの場合<br />
<form><input type="button" value="sample.csvをダウンロードする" onClick="location.href='sample.php'"></form>


■ sample.php

<?php
   $file = "sample.csv";
   $file_length = filesize($file);
   header("Content-Disposition: attachment; filename=$file");
   header("Content-Length:$file_length");
   header("Content-Type: application/octet-stream");
   readfile ($file);
?>



■動作環境


Windows:Internet Explorer 6.0、Internet Explorer 7.0、FireFox 2.0

Mac OS:Safari 2.0、FireFox 2.0
※サーバサイドのシステムなので、ブラウザはあまり関係ないかもしれないけど一応・・・。


■参考サイト


PHPでファイルをダウンロードするには?
http://chaichan.web.infoseek.co.jp/qa5500/qa5931.htm


ファイルのダウンロード
http://php.nekosuke.com/000022.html


[PHP]ファイル圧縮とダウンロード
http://blog.fmono.sub.jp/?eid=346000


任意のファイルをダウンロードさせる - readfile()
http://www.spencernetwork.org/memo/tips-5.php


PHPでファイルをダウンロードさせるには
http://jamz.jp/tech/2006/11/how-to-download-after-display-thanks-page.html

人気blogランキング ブログランキング・にほんブログ村へ Blog Entry ランキングへ投票 ブログ王 ブログランキング くつろぐ
最近流行のブログのように、簡単にオンラインショップが構築できちゃう、
Color Me Shop! pro】は、オンラインショップ構築の容易さだけではなく、
商品管理や決済も簡単にできちゃう初心者でも安心の機能を標準装備!
無料提供のショップブログとも連携できて月額875円〜。この機会に是非!

トラックバック

このエントリーのトラックバックURL:

コメントする