訂正: 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
更に、ちゃんとしたい場合は、出力バッファリングについても考え、メモリの使い方についても考えたほうがよいそう。他にも突っ込みが入った記事があればアナウンスしていく予定です。
ご連絡頂きました方々、ありがとうございました!
最新のブログ記事(新着順)
- 15000以上のいい感じの線形アイコン「Lineicons」
- CSSやTailwindでのCSSスニペットライブラリ「CSS Snippets Library」
- AIを使ってサイトマップが作れる「Octopus.do」
- ライブラリ依存のないモーダルオープンライブラリ「Blendy」
- 個性的な明朝フリーフォント「築豊初号明朝OFL」
- CSSで太陽が差し込むようなアニメーション実装
- 可愛くアニメーションする「beautifully crafted animated icons」
- アイソメトリックなアイコンがアイコンがPNG,SVGでゲットできる「Isoicons」
- ユニークなカタカナフォントtorisippo
- 美しいメッシュグラデーションをCSSで簡単に取得できる「MSHR」
- 過去のエントリ