我有一個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