2

巨大なテキスト ファイル、より正確には ics ファイルがあることを認めましょう。巨大... 10MB以上そして、php で
その一部だけを読みたい

'BEGIN:VEVENT
作成日:20111130T144848Z'
...

次の発生まで

...
 「END:VEVENT」。

配列として使うには
誰かヒントありませんか?

4

1 に答える 1

1

このようなことを試してください:

$numb=0;
$result=array();
$handle = @fopen("inputfile.txt", "r");
$exit=0;
  while (($buffer = fgets($handle) && $exit==0) {
        if(strpos($buffer,'BEGIN:VEVENT')){
          $onoff=1;
        }
        if ($onoff==1){
          $result[$numb]=$buffer;
          $numb=numb+1;
        }
        if(strpos($buffer,'END:VEVENT')){
          $onoff=0;
          $exit=1;
         }

    }
  if (!feof($handle)) {
      echo "Error: unexpected fgets() fail\n";
  }
  fclose($handle);
 }
于 2013-05-29T16:05:45.017 に答える