WordPressページにサーバー上の複数の.txtファイルが含まれているselect要素があります。選択ドロップダウンからファイルの1つを選択すると、ファイルをブラウザにダウンロードして、ブラウザの保存ダイアログを有効にします。サーバーのファイルをブラウザの保存ダイアログに読み込む
ダウンロードを行う1つの方法は、選択ドロップダウンのオプション要素の代わりに、クリックされたリンクにファイルを置くことです。私のような何かを行うことができます:
<a href="/directory/file1.txt download> file1.txt </a>
をしかし、その後、ユーザーは、代わりにドロップダウンからオプションを選択することができるというのリンクの束の中から選択する必要があります。上記のようなリンクを実行するには、ドロップダウンから選択肢を選択する方法はありません。
私はまた、選択ドロップダウンを感じたのjQueryの変更ハンドラを持って、その後、jQueryのAjaxのポストコールしてPHPまでの選択を通過したと同様にPHPで何かを実行することができます:
<?php
header("Content-Disposition: attachment");
header("Content-Type: text/plain");
readfile("/directory/file1.txt");
?>
しかし、私の場合ajax呼び出しでPHPに到達しました
は、ブラウザに接続するか、代わりにデータをajax呼び出しに戻します。
誰かが選択した選択肢からダウンロードを開始する最も良い方法はありますか?
おかげ
は=====は
私はあなたのソリューションが期待どおりに動作することを確信しています – lud1977
私はphp header/readfileソリューションを試しましたが、データはブラウザにダウンロードされるのではなく、Ajax success関数の最初のパラメータとして戻ってきました。恐れ。 – Steve
申し訳ありませんが、私は実際にはあなたのソリューションを誤解しています...私はまだあなたのソリューションは大丈夫だと思う、あなたはajaxを介してアクセスする代わりにPHPスクリプトを指すtop.location.hrefを設定する必要があります。content-disposition:attachmentヘッダーを設定しているため、ブラウザはダウンロードを促します。現在のウィンドウは同じままでなければなりません。 – lud1977