0

わかりました、ここに私のコードがあります:

$file='dir/xxx/'.$images[0].'.jpg';
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="'.basename($file).'.jpg"');
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
readfile($file);

ヘッダーを調べるContent-Type:text/htmlと、意図したタイプではないようです。画像の生データを画面に出力するだけです。助けてください!

その後の編集: すべての ob_* コントロール関数を削除しましたが、結果は同じです。

4

2 に答える 2

0

ob_cleanは出力バッファを破棄し、ヘッダーをクリアします。

また、その機能は必要ありませんob_*。安全に削除できます。

于 2012-05-02T11:41:38.170 に答える
0

そもそもヘッダーをバッファリングする理由がないように思われるため、おそらくヘッダーを削除できます。

したくない場合は、ここに問題があります。バッファをフラッシュする前に、バッファをきれいにします。を削除してみてくださいob_clean()ob_flush()また、代わりにを使用する必要がある場合もありますflush()

于 2012-05-02T11:41:59.940 に答える