訂正: 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
更に、ちゃんとしたい場合は、出力バッファリングについても考え、メモリの使い方についても考えたほうがよいそう。他にも突っ込みが入った記事があればアナウンスしていく予定です。
ご連絡頂きました方々、ありがとうございました!
最新のブログ記事(新着順)
- 小説表紙などに使えそうな商用可なフォント「になロマン」
- 筆で書いたようなカナ書体「筆竹仮名B」
- 無料・商用利用可な丸文字ピクセルフォント「マルミーニャM」
- スペースコブラ風フォント
- Next.jsのVercelから商用利用可能なフリー汎用フォント「Geist Font 」
- 無料で使えるいい感じの日本語フォント「しっぽり太ゴシック」
- CSSのみで実装された500種類のローディングアニメーション「CSS Loaders」
- 画像ホバーで様々なエフェクトをかけられる「Izmir」
- CSSのbox-shadowをGUIで生成できる「CSS Box Shadows Generator」
- 好きな画像や文字を埋め込んだQRコードをリアルタイムで作れるWEBツール
- 過去のエントリ