「メールアドレスなどの必要事項の入力が認められたときに、ダウンロードボタンを押したらzipファイルのダウンロードをはじめたい」ときのPHPでの記述方法です。
※PHPで処理した後に「ありがとうございました」画面ではなくてそのままダウンロードを始めたいとき。要は外部から直接リンクできないようにする。
記述する場所は、フォームのとび先のPHPの必須項目判定が終わった後になります。
1 2 3 4 5 6 |
$filepath = 'files/' . $fid . '/' . $fid . '.zip'; header('Content-Disposition: attachment; filename="' . basename($filepath) . '"'); header('Content-Type: application/octet-stream'); header('Content-Transfer-Encoding: binary'); header('Content-Length: ' . filesize($filepath)); readfile($filepath); |
$fidはファイルのIDを表しています。つまり受け取ったファイルIDを使ってパスを特定してダウンロードするzipファイルを決めて、ヘッダーを作ってダウンロードさせているわけです。