3

情報

PHP でファイルをダウンロードするには、 file_get_contents + file_put_contentsfopenreadfile、および cURLの多くの方法があります。

質問?

  • 別のサーバー/ドメインから 500 MB の大きなファイルがある場合、安全にダウンロードするための「正しい」方法は何ですか? 接続に失敗した場合は、位置を見つけて続行するか、エラーが含まれている場合はファイルを再度ダウンロードする必要があります。
  • これは、php.exe シェルではなく、Web サイトで使用される予定です。

ここまでわかったこと

  • プログレスバーを備えたAJAXソリューションについて読んだことがありますが、本当に探しているのはPHPソリューションです。
  • file_get_contents のように、ファイルを文字列にバッファリングする必要はありません。それはおそらくメモリも使用します。
  • メモリの問題についても読みました。それほど多くのメモリを使用しないソリューションが好まれる場合があります。

概念

結果がfalseの場合、これは私が望むものです。

function download_url( $url, $filename ) {
    // Code
    $success['success'] = false;
    $success['message'] = 'File not found';
    return $success;
}
4

2 に答える 2

1

リモートファイルをチャンクでダウンロードしたいと思うでしょう。この回答には素晴らしい例があります:

PHPを使用して大きなファイルをダウンロードする方法(メモリ使用量が少ない)

于 2013-06-06T18:14:49.020 に答える