私はバイナリファイルを取得するためにPHPでデータベースクエリを使用しています。しかし、私がダウンロードを強制しようとすると、ヘッダー( 'Content-type:application/octet-stream')行が0バイトのファイルを生成します。その行がなければ、完全な内容のファイルをダウンロードできます。バイナリファイルなので、なぜその行が問題を引き起こすのか分かりません。 コード:header( 'Content-type:application/octet-stream')は0バイトのファイルを発生させます
$result = mysql_query("SELECT data FROM stored_file WHERE file_name = '$q'");
while($row = mysql_fetch_array($result))
{
$file = $row['data'];
}
header('Content-disposition: attachment; filename='.$q);
header('Content-type: application/octet-stream');
header('Content-Length: '.filesize($file));
header("Pragma: no-cache");
header("Expires: 0");
echo $file;
ご存知ですか?ありがとう。
すべてのヘッダーをコメントアウトします。エラー報告を有効にしてスクリプトを実行します。エラーメッセージを投稿してください。 –
エラーメッセージは表示されません。 – Akos
filesize($ file)は何も返しません。 – Akos