1

ユーザーにファイルを提供するZendコントローラーがあります。

Noginn SendFileアクションヘルパーを使用してファイルの実際のストリーミングを実行しましたが、コードは、MIME、Content-Typeなどを設定した後、単にreadfile($ path)を使用してファイルのコンテンツをバッファーに配置します。

問題は、パイプを下って到着するファイルの先頭に余分な空白バイト0x20があり、テキストファイルの場合はトレインスマッシュではなく、画像の場合は明らかに致命的であるということです。

私のコントローラーには、ビュースクリプトのレンダリングを停止するための次のコードが含まれています。

$this->_helper->viewRenderer->setNoRender();
$this->_helper->layout->disableLayout();

しかし、ファイルがストリーミングされる前に、空白がまだ出力バッファのどこかに配置されていると思います。ファイルをストリーミングする前に出力バッファをクリアする方法はありますか?

よろしくお願いします。

4

1 に答える 1

4

コーヒーを飲んだので、答えは痛々しいほど明白です

ob_clean();

于 2010-06-04T07:30:33.433 に答える