0

リモートサーバーからファイルをダウンロードしようとしています。以下のコードを検索して取得しました。機能していません。URL とファイル名が正しいにもかかわらず、破損したファイルが表示されます。これは私のコードです、

    $file = $URL.$filename;

    set_time_limit(0);
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $file);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
    $r = curl_exec($ch);
    curl_close($ch);
    header('Expires: 0'); // no cache
    header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
    header('Last-Modified: ' . gmdate('D, d M Y H:i:s', time()) . ' GMT');
    header('Cache-Control: private', false);
    header('Content-Type: application/force-download');
    header('Content-Disposition: attachment; filename="' . basename($file) . '"');
    header('Content-Transfer-Encoding: binary');
    header('Content-Length: ' . strlen($r)); // provide file size
    header('Connection: close');
    echo $r;

何が問題なのかわからない。また、リモート サーバー ファイルのダウンロードも行っていません。

これをデバッグするのを手伝ってくれる人はいますか? ファイルをダウンロードするためのより良いスクリプトはありますか?

4

0 に答える 0