検索

ホームページ  >  に質問  >  本文

ajax +phpヘッダー経由でファイルをダウンロード

1. 2 つのファイルのうち 1 つはブラウザ ページで、もう 1 つはバックグラウンドの php ファイルです。次のように記述した後、ダイアログ ボックスを表示するにはどうすればよいですか。ブラウザページでダウンロードするには?現在、ブラウザ ウィンドウで [ダウンロード] をクリックしても応答はありませんが、ドキュメント リスト ウィンドウで download.php ファイルを直接クリックすると、ブラウザ インターフェイスで直接 [ダウンロード] をクリックすると、ダウンロード ウィンドウがポップアップ表示されます。ダウンロード ダイアログ ボックスをポップアップ表示します。


<html>
<頭>
    <meta charset="utf-8" />
    <title>PHP ダウンロード ファイル</title>
    <style type="text/css">
        
    </スタイル>
    <script type="text/javascript" src="jquery.js"></script>
    <スクリプトタイプ="text/javascript">
        $(document).ready(function(e){
            $("#download").click(function(){
                // アラート();
             $.ajax({
                タイプ:「POST」、
                URL:"download.php",
             });
            });
        });

        
    </スクリプト>
</head>
<本体>
   
        <h2>ダウンロード センター</h2>
        <p id="download" style="cursor: pointer;">ダウンロード</p>
</ボディ>
</html>

バックエンド PHP ファイル:

<?php

$file = "C:\file.txt";
$fileName =basename($file); //ファイル名を取得します。
header("Content-Type:application/octet-stream");
header("Content-Disposition:attachment;filename=".$fileName);
header("受け入れ範囲:バイト");
header("Accept-Length:".filesize($file));
$h = fopen($file, 'r');//ファイルを開きます
echo fread($h, filesize($file)); // ファイルを読み取り、ファイルを出力します (つまり、ファイルをダウンロードします)。

?>

< /p>

为情所困为情所困2747日前545

全員に返信(2)返信します

  • ringa_lee

    ringa_lee2017-05-16 13:15:13

    ポップアップ ボックスの後ろで windows.location.href="/download.php" を使用するか、ポップアップ ウィンドウの後ろのタグに直接ジャンプする必要があります

    返事
    0
  • PHP中文网

    PHP中文网2017-05-16 13:15:13

    ajax はバックグラウンドでデータを送受信します。データを js に返すだけです。

    返事
    0
  • キャンセル返事