0

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";
      }
  }
}

私は本当に長い間それと一緒に暮らしてきたので、これを手伝ってください

4

2 に答える 2