0

サーバーから MP3 ファイルをダウンロードするコードを開発します。コードは古いサーバーでは機能しますが、新しいサーバーでは機能しません。罰金をダウンロードしようとすると、0バイトが表示されます

HTTP Post メソッドでダウンロード リンクを送信します

www.example.com/download.php?dlink=http://www.example.com/music/sample.mp3

これが私が使用したコードです

    ob_start();
    if(isset($_REQUEST['dlink']))
    {
        $file = $_REQUEST['dlink'];
        header('Content-Description: File Transfer');
        header('Content-Type: application/octet-stream');
        header('Content-Disposition: attachment; filename='.basename($file));
        header('Content-Transfer-Encoding: binary');
        header('Expires: 0');
        header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
        header('Pragma: public');
        header('Content-Length: ' . filesize($file));
        ob_clean();
        flush();
        readfile($file);
         exit;
    }
ob_flush();

前もって感謝します

4

1 に答える 1

0

リモートサーバーからファイルを読み取ることができないため、dlink パラメータに絶対 URL を渡さないでください。

この URL を使用してください www.example.com/download.php?dlink=music/sample.mp3

ルートディレクトリに実行ファイルがあると仮定します。

于 2012-05-16T07:33:24.587 に答える