ユーザーにファイルを提供するZendコントローラーがあります。
Noginn SendFileアクションヘルパーを使用してファイルの実際のストリーミングを実行しましたが、コードは、MIME、Content-Typeなどを設定した後、単にreadfile($ path)を使用してファイルのコンテンツをバッファーに配置します。
問題は、パイプを下って到着するファイルの先頭に余分な空白バイト0x20があり、テキストファイルの場合はトレインスマッシュではなく、画像の場合は明らかに致命的であるということです。
私のコントローラーには、ビュースクリプトのレンダリングを停止するための次のコードが含まれています。
$this->_helper->viewRenderer->setNoRender();
$this->_helper->layout->disableLayout();
しかし、ファイルがストリーミングされる前に、空白がまだ出力バッファのどこかに配置されていると思います。ファイルをストリーミングする前に出力バッファをクリアする方法はありますか?
よろしくお願いします。