ホームページ > バックエンド開発 > PHPチュートリアル > Zend Frameworkにファイルダウンロード機能を実装する方法

Zend Frameworkにファイルダウンロード機能を実装する方法

WBOY
リリース: 2016-06-23 14:12:12
オリジナル
896 人が閲覧しました

タイトルの通り、今回の目的はコントローラーメソッドでファイルのダウンロードを実装することです
ダウンロードされるファイルはローカルディレクトリにあるファイルではなく、コントローラーメソッド内で一時的に生成されたデータファイルです。
PHP はヘッダー情報を使用して、ブラウザが ZF を使用せずにダウンロードできるようにします。
header("Accept-Ranges: bytes"); Attachment; filename=".$filename);
header("Cache-Control: must-revalidate、post-check=0、pre-check=0" );
header("Pragma: no -cache" );
header ("Expires: 0" );
これと同じですが、ZF ではこのコードを downloadController の downloadAction() などのコントローラー メソッドに直接入れます。このようにヘッダー情報を設定し、最後にデータを出力します。 print $data;
がダウンロードできません。
Zend フレームワークでダウンロードを実装する方法、または ZF がファイルのダウンロードに関する独自の情報を持っているかどうかを専門家に尋ねたいと思います。マニュアルを読んだところ、ファイルをアップロードするだけのようです。ダウンロードはありません


ディスカッションに返信 (解決策)


レイアウト、viewRenderer を無効にする必要があります

public function downloadAction() {

$this->_helper->getHelper ('layout')->disableLayout ()

$ this->_helper->getHelper ( 'viewRenderer' )->setNoRender ();

。 。 。

}

ダウンロード ファイルのヘッダーも正しくありません
http://grow.sinaapp.com/?p=667

ダウンロードをリクエストするために ajax を使用したことが原因であることがわかりました。前段落で書いたので、背景にどう書いても全部間違っていますので、リンク形式に変更すれば問題ありません。

理解できません。ZF のファイル ダウンロード機能が理解できません。プロセス全体を説明していただけますか?

Zend フレームワークはダウンロードをどのように実装しますか? それとも、このフレームワークはダウンロード クラスを提供しますか? もしそうなら、それを使用する方法を教えてください。 ! !

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート