ファイルを返そうとするときに、php にさまざまなヘッダーを設定させることができません。
関連コード:
if (ob_get_contents()) ob_end_clean();
header($_SERVER["SERVER_PROTOCOL"] . " 200 OK");
header('Content-Type', 'application/pdf');
if (ob_get_contents()) ob_flush();
header('Content-Disposition', 'attachment; filename="' . basename($setfile) . '"');
header('Content-length', filesize($fullpath));
readfile($fullpath);
ファイルが存在します。すべて問題ありません。ただし、ヘッダーの応答は常に次のとおりです。
HTTP/1.1 200 OK
Date: Sat, 09 Nov 2013 22:19:22 GMT
Server: Apache/2.2.24 (Unix) DAV/2 PHP/5.5.0 mod_ssl/2.2.24 OpenSSL/0.9.8y
X-Powered-By: PHP/5.5.0
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 20
Content-Type: text/html
ステータス コードを変更できます。404 などを返しました。しかし、コンテンツ タイプは常に text/html です。少し迷っています。コンテンツの性質が設定されていません。 ..
ファイルを提供するには有効なセッションが必要なので、「ファイルにリダイレクトするだけ」タイプの回答はしないでください。
ご意見ありがとうございます