2017-12-31 122 views
1

私のウェブサイトの「ダウンロード」ページを作成しようとしています。私はこのようなURLを使用しています:http://example.com/download?file=21。サーバー上のファイルの実際の場所は、ファイルIDと共にデータベースに格納されます。私はダウンロードページに他のHTMLと一緒にダウンロードされているファイルの名前を表示したい。私は、ファイルをダウンロードして同じPHPページに出力を表示する方法を理解するのに問題があります。HTMLを出力してPHPでファイルをダウンロード

実際にPHPでファイルをダウンロードしたときに見たすべてのアドバイスは、ヘッダーを変更する必要があります。ダウンロードページを表示してからAJAXのようなものをダウンロードする必要がありますか?

答えて

1

私はそれをajaxなしで行います。

他のhtml情報http://example.com/file?id=21でファイルを表示するスクリプトを作成し、ダウンロードパラメータが設定されている場合(http://example.com/file?id=21&download=1)、そのスクリプトはヘッダーのみを出力してファイルを送信します。

次に、http://example.com/file?id=21で空のiframeを作成します(コード内またはjavascriptで動的に作成)し、ユーザーがファイルをダウンロードする場合は、そのiframeのURLをhttp://example.com/file?id=21&download=1に設定するだけでファイルが開始されますダウンロードする。 ajaxやウェブサイトのリロードは必要ありません。ユーザーがファイルをダウンロードしたいときにiframe urlを設定するためのjavascriptだけです。

これは唯一の方法ではありませんが、良い方法だと思います。

+0

ありがとう、私は隠されたiframeの使用について考えなかった。 – brack

+0

実際に私は少し検索して、ファイルをダウンロードするjqueryライブラリを見てきました。また、iframeを使用しています。http://johnculviner.com/jquery-file-download-plugin-for-ajax-like-feature-rich -file-downloads / – jeprubio

関連する問題