XMLファイル(オンラインファイル)への500リンクがあります。これらのファイルをこれらのファイルのコンテンツを読み取り、解析してからデータベース(MySQL)に保存する関数に渡したいと思います。この関数を使用してリンクを取得します。
function get_links()
{
$user_file = @fopen("./fullsoccer.TXT", "r");
if ($user_file)
{
while (!feof($user_file))
{
$lines[] = fgets($user_file, 4096);
}
fclose($user_file);
}
return $lines;
}
次に、この関数を使用して各リンク コンテンツを読み取り、解析します。
function doParse($parser_object) {
$links=get_links();
$i=0;
while(!empty($links[$i]))
{
if (!($fp = fopen($links[$i], "r")));
{
//loop through data
while ($data = fread($fp, 4096)) {
//parse the fragment
xml_parse($parser_object, $data, feof($fp));
}
}
$i++;
}
}
リンクは正常に返されます(「doParse」関数で出力します)が、問題は次のとおりです。「doParse」関数は最後のリンクのファイルを解析するだけです。関数が最後のリンクのファイルだけを解析し、以前の 499 個のファイル全体を残す理由を知りたいですか? fopenの問題ですか?? 複数のファイルを読み取ることができますか?