問題タブ [force-download]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - PHPでダウンロードを強制する方法は?
複数のリンクを強制ダウンロードするにはどうすればよいですか? ユーザーが link1 をクリックすると、pdf1.pdf がダウンロードされます。ユーザーが link2 をクリックすると、pdf2.pdf がダウンロードされます。どのリンクをクリックしたかを確認する方法はありますか?
file - サーバーに保存されているファイルのブラウザー ファイルのダウンロードが機能しない
サーバー上に、ブラウザのダウンロードを使用してダウンロードするファイルがあります。エラーはスローされませんが、ファイルのダウンロード用のダウンロード ウィンドウは表示されません。助けてください。
私のコントローラーコードは次のとおりです。
firebug での私の応答は次のようなものです。
応答ヘッダーは次のとおりです。
php - PHP - 強制ダウンロード ダイアログ ボックス: ユーザーの入力に基づいて特定のアクションを設定しますか?
ユーザーがmp3ファイルを聞いたり、アップロードしたり、ダウンロードしたりできるポータルをセットアップしていますが、ダウンロードオプションは、ユーザーが以前にmp3ファイルをサーバーにアップロードしたときにのみ利用可能になります(まだ実装されていません)。
アップロード (フィールド値を 1 ずつ増やす) または mp3 ファイルのダウンロード (フィールド値を 1 ずつ減らす) 後に、ユーザーが利用可能なダウンロードを追跡する mysql テーブルにフィールド (「descargas」という名前) があります。また、セッション変数 ($_SESSION['descargas']) を使用して、利用可能なダウンロードを追跡します。
アップロード部分は問題ありませんが、ダウンロード部分に小さな問題があります。ダイアログが表示されたときにユーザーがファイルをダウンロードしないことを選択した場合、1 による減分は適用されないことを php に伝える必要があります。
私はmp3ファイルと同じディレクトリにある別のダウンロードファイルでphpに強制ダウンロードメソッドを使用しています(ただし、修正のための公式のGETメソッドとは対照的に、POSTメソッドを使用しています)。現在の問題は、ユーザーがダウンロードを続行しないことを選択した場合でも、ユーザーの利用可能なダウンロードは 1 つ差し引かれます。
もう 1 つの問題は、利用可能なダウンロード数が 0 の場合でも、保存ダイアログが表示され、リンクをクリックすると任意のファイルをダウンロードできることです。
ダウンロードファイルは次のとおりです。
どんなアイデアでも大歓迎です。問題を解決できるように、まったく別のルートをたどり、javascript や ajax を使用してダウンロード部分を実装する必要がある場合は、それを行います。
P:SI はまた、メイン ページで任意の曲のタグをクリックしても、ブラウザの URL が「download.php」に変わらないことにも気付きました。これは、ダウンロードを処理する php ページの名前です。ページが訪問されています。
php - $_POST['index'] 値は文字列をエコーしますが、readfile 関数で未定義のエラーが発生します
これは、random_num を force_dl.php に送信するために使用している jQuery コードです。ここで、random_num の値は 977926 です... 私の最終目標は、data977926.data を新しいウィンドウで開くのではなく、強制的にダウンロードすることです。
これが変更されたHTMLコードです
force_dl.php に以下がある場合、
アラートにファイル名が表示されますが、
そして、force_dl.php で以下を実行すると
ID が data_file の HTML リンクをクリックすると、必要に応じてデータ テキスト ファイルをダウンロードするよう強制されます。問題は、次を実行すると発生します。同じ data_file リンクをクリックすると、data.data という名前のファイルがダウンロードされます。
data.data ファイルの内容は次のとおりです。
$_POST['random_num'] を問題なくエコーできるのに、インデックス random_num が定義されていないのはなぜですか? ダウンロードしたファイルの名前が data977926.data ではなく data.data になっているのはなぜですか? $_POST['random_num'] をエコーすると data977926.data が表示されるのに、$_POST['random_num'] をヘッダーおよび readfile 関数に挿入した場合と、data977926.data を入力した場合とでは結果が異なるのはなぜですか? 前もって感謝します。