使いどころ
アップロード上限のテスト、帯域やタイムアウトの検証、ダウンロード処理の動作確認など、「ちょうどこの容量のファイルが欲しい」という場面のためのダミーファイルです。実際に開ける画像に、形式ごとの「無視される領域」を足してちょうどの容量にしています。ビューアやブラウザで普通に表示できます。
5 MB という容量の目安
スマートフォンで撮った写真をそのままアップロードすると、だいたいこのくらいになります。
ファイル全体をメモリに載せる実装の限界を探り始める領域です。同時アップロードを重ねたときのメモリ使用量も見ておきたいところ。
PHP の既定は upload_max_filesize が 2MB、post_max_size が 8MB です。5MB のファイルは前者だけを超えるので、「設定を 1 つ直したのにまだ通らない」という事故が起きやすい容量です。
| 10Mbps(モバイル回線の目安) | 約 4.2 秒 |
|---|---|
| 100Mbps(一般的な光回線) | 1 秒未満 |
| 1Gbps(上限まで出た場合) | 1 秒未満 |
回線を専有できたと仮定した理論値(バイト×8÷速度)です。実測ではないので、実際はこれより遅くなります。
WEBP という形式の特徴
可逆・非可逆の両方に対応し、同じ見た目なら JPG や PNG より小さくなりやすい形式です。透過もアニメーションも扱えます。
どうやって「ちょうど」にしているか
末尾に私設の RIFF チャンクを足し、RIFF 全体のサイズを書き直して容量を合わせています。未知のチャンクは読み飛ばされます。
同じ 5 MB を別の形式で試すなら: PDF / PNG / JPG / GIF / MP4 / WEBM / CSV / JSON / TXT。
容量は 1KB = 1024バイトで計算しています。5 MB = ちょうど 5,242,880 バイトです。上のハッシュは事前計算した固定値で、 ダウンロードした実ファイルと一致します(ハッシュ検証のテストにも使えます)。