訂正: PHPでファイルをDLさせる際のPHPコード例
2008年02月22日
先日、「PHPでファイルをDLさせる際のPHPコード例」というエントリを書きましたが、いくつか問題を持っているようで、アナウンスのため、新規エントリを立てました。
訂正1)
以下のようにしないと大きなファイルの場合はダウンロード失敗するようです。
RFC的には以下が正しいとのこと。
header('Content-Disposition: filename=dl.zip');
↓
header('Content-Disposition: attachment; filename="dl.zip"');
訂正2 )
毎回メモリに読み込むのは良くないということで、以下の訂正
echo file_get_contents('test.zip');
↓
readfile('test.zip');
注) PHP4においてはreadfileでもメモリに読みこむようです^^;(追記)
(echo file_get_contents("test.zip");ではファイルサイズが大きい場合、memoly_limit にも引っかかり正しく動作しないようです)
あと、set_time_limit()関数で途中で突然終了しないようにする必要もありましたね。
詳しくは以下のエントリを参照ください。
参考1)http://d.hatena.ne.jp/odz/20080215/1203099900
参考2) http://d.hatena.ne.jp/cocoiti/20080221#1203611811
更に、ちゃんとしたい場合は、出力バッファリングについても考え、メモリの使い方についても考えたほうがよいそう。他にも突っ込みが入った記事があればアナウンスしていく予定です。
ご連絡頂きました方々、ありがとうございました!
投稿者 KJ : 2008年02月22日 21:00
|
![]()
間違いの指摘をしていただける方はメールでお願いします
最新のブログ記事
- 独自の分野でインターネットの最先端を走りませんか?株式会社クレッシェンドをインタビュー
- 2008年10月7日 管理人のブックマーク
- PHPを使ってミニブログを作るチュートリアル
- おいしそうな青りんごを1から作るPhotoshopチュートリアル
- 青ベースの綺麗なサイトデザイン集
- 2008年10月6日 管理人のブックマーク
- SymfonyでのWeb開発に役立つFirebug拡張「FireSymfony」
- GoogleWebToolkit用PHP5フレームワーク「GwtPHP」
- アップル風の画像を作るためのPhotoshopチュートリアル集
- ページ内の画像を一括で最適化「smush.it」
- ブラウザ上で動作するPhotoshop風アプリ「Sumo Paint」


















