3

私は PHP を使用しており、多数のかなり大きな XML ファイル (非圧縮で 50 ~ 75MB) を解析する必要があります。ただし、問題は、これらの XML ファイルがリモートで保存されているため、解析する前にダウンロードする必要があることです。

この問題について考えた結果、cURL 転送を開始するために PHP で system() 呼び出しを使用することが、タイムアウトと PHP のメモリ制限を回避するためのおそらく最良の方法だと思います。

誰かが前にこのようなことをしたことがありますか? 具体的には、リモート ファイルをダウンロードし、選択したローカル フォルダーに確実に保存するには、cURL に何を渡す必要がありますか?

4

1 に答える 1

1

あなたはこれを試すことができます:

function download($src, $dst) {
        $f = fopen($src, 'rb');
        $o = fopen($dst, 'wb');
        while (!feof($f)) {
            if (fwrite($o, fread($f, 2048)) === FALSE) {
                   return 1;
            }
        }
        fclose($f);
        fclose($o);
        return 0;
}
download($url,$target);
if ( file_exists($target) ){
   # do your stuff
}
于 2010-02-20T11:17:22.750 に答える