0

このスクリプトについて助けが必要です。download.php という名前のこの php スクリプトがあります。私がやろうとしているのは、すべてのダウンロードをこのページにリンクさせたい、つまり動的にしたいということです。また、リンクをクリックすると、ユーザーに「名前を付けて保存」が表示される代わりに、実際に MP3 が再生されます。

1) このスクリプトがすべてのダウンロードで機能するように、スクリプトを動的にする方法を教えてください。

2) ファイルを再生/表示する代わりにダウンロードするにはどうすればよいですか?

ありがとう

   <?php
   $filename = 'download.mp3';

    header('Pragma: public'); 

    header('Expires: 0');

header('Cache-Control:must-revalidate,      post-check=0,pre-check=0');

 header('Cache-Control:private', false); 

   header('Content-Type:audio/mp3');

                header('Content-Disposition:         attachment;filename="'.basename             ($filename).'";');

      header('Content-Transfer-Encoding:        binary');

        header('Content-Length:'.filesize(            $filename));

     readfile($filename);

    exit;
    ?>

 HTML
 ======

 < a href="download.php"> MP3 </a>
4

1 に答える 1

0

これを一歩一歩進めていきましょう。

1) スクリプトを動的にするのは簡単です。次の 2 つの方法があります。

a) ファイル名が $_GET に現れるようにします。例:

$file = $_GET['file']; 

リンクは

<a href="download.php?file=somefile.mp3">Download</a>

b) ファイル データをデータベースに保存します。データベースは次のようなものid|filename|filesize|filetypedownload.php?id=##、その ID # が呼び出されると、ファイル名がページに送信され、ファイルがダウンロードされます。

2) ファイルのダウンロードを自動的に行う。簡単!

header("Content-Type: application/force-download"); 

Content-Type をこれに置き換えると、ゴールデンになるはずです。強制ダウンロードにファイルの種類は必要ありません。今すぐダウンロードする必要があることを知っているだけです。

これが役立つことを願っています=)

于 2012-04-27T05:50:47.913 に答える