0

php-curl を使用して 7GB のファイルをダウンロードしようとしていますが、最初の 2GB しかダウンロードできないようです。

これについてのドキュメントや話はないようです。

誰にもアイデアはありますか?

4

2 に答える 2

2

このトピックに関する 2 つの便利なリンクを次に示します。

curl を使用して大きなファイルをダウンロードする

cURLでリモートファイルを部分的にダウンロードするには?

基本的に、ここで 2 つの問題が発生する可能性があります。

  • PHPのメモリ割り当てを使い果たすなど、最初にメモリに読み込んでいます
  • HTTP プロトコルの特定の制限を克服するには、ファイルをチャンク ダウンロードする必要があります。

また、ファイル システムの制限があり、@ajreal で言及されているように、ファイル システムの種類をあまり確認しないでください (つまり、FAT32 には 4GB の制限があり、99% の確率で FAT を使用していませんが、それでも例です)。

OPが発見したように、それはDBで行われました:

データベースの問題であることが判明しました。ファイル サイズは mysql データベースに保存され、サイズはバイト単位で、"int" 列の最大サイズは 2147483648 です。列の種類を "bigint" に変更すると、問題が修正されました。

于 2012-07-29T16:59:25.040 に答える
0

ファイルシステムが2GBを超えるファイルを処理できると仮定すると、使用して試すことができますcopy

copy("http:://example.org/your_file","/tmp/your_file");

また、適切な時間制限を設定してください ( を使用set_time_limit(...))。

于 2012-07-29T17:06:19.407 に答える