0

これが私の問題です。ヘッダーを使用してファイルをダウンロードしようとしています。これが私のコードです:

$content_type = mime_content_type('uploads/MyBBIntegrator_v1.3.1.zip');
$file = 'uploads/MyBBIntegrator_v1.3.1.zip';
header("Cache-Control: public");
header('Content-type: application/octet-stream');
header("Content-Description: File Transfer");
header('Content-Disposition: attachment; filename="MyBBIntegrator_v1.3.1.zip');
header("Content-Transfer-Encoding: binary");
header('Expires: 0');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
readfile('uploads/MyBBIntegrator_v1.3.1.zip');

ただし、これの唯一の結果は、ファイルの内容(テキストファイル)またはファイルがimage/zip/exeなどの場合は奇妙な記号の文字列がページに表示されることです。

この問題を解決するにはどうすればよいですか?

4

1 に答える 1

1

まずmime_content_type()、MIME 値を取得する別の方法を試す必要があります。

私はあなたのコードをチェックしましたが、それは私のサーバー上で正常に動作し、私にとっては正常に動作します. ダウンロードをブロックする可能性のある INI ディレクティブを確認する必要があります。新規インストール サーバーを試してください。

また、質問に入れるスニペットの前に、スクリプトによって生成された出力があってはなりません。

于 2012-08-07T11:39:40.210 に答える