我有一个500链接到XML文件(在线文件)我想将这些文件传递给一个函数,读取这些文件的内容,解析它们,然后将它们存储在我的数据库(MySQL)中。 我用这个函数来获取链接:如何在PHP中将链接传递给fread?
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文件?是否打开问题?它能够读取多个文件吗?
为什么不使用使用$链接=文件( “./ fullsoccer.TXT”);而不是fopen使用file_get_contents而不是在使用foreach时可以简化这段代码。如果你通过网络使用打开文件,也许你应该考虑CURL? – Robert 2013-05-08 08:40:47
curl如何获取文件内容为xml – 2013-05-08 09:09:28