500 個のリンク (XML ファイルのオンライン リンク) を含むファイル (fullsoccer.txt) があります。これらのリンクを呼び出し、それぞれを関数に渡し、リンクを開いてコンテンツを読み取り、コンテンツを解析関数に渡します ( xml_parser) を使用してコンテンツを解析し、データベースに保存します。私の問題は、関数が最後のファイルのみを解析して保存していることです。コードをデバッグしようとしましたが、すべてのリンクが正しく開かれていることがわかりましたが、最後のリンクだけが解析されています。私のコードに問題があるのでしょうか? または、ループ内の fopen と fread は、最初の読み取り要求を完了する前に 2 番目の開始要求を受け取りますか? これは私のコードです:
function doParse($parser_object) {
$links=file("./fullsoccer.TXT");
foreach($links as $link)
{
set_time_limit(0);
//echo 'reading '.$link."\n";
$fp = fopen($link, "r");
if ($fp!==false)
{
//loop through data
while ($data = fread($fp, 4096)) {
//parse the fragment
xml_parse($parser_object, $data, feof($fp));
//echo $data;
}
//echo "\n";
fclose($fp);
} else {
echo 'Cannot Open Link '.$link."\n";
}
}
}
私は本当に長い間それと一緒に暮らしてきたので、これを手伝ってください