开发者

code was working, but suddenly stopped working

This code opens a text file, then checks to see if each word in the text file Exists in a another large 2MB dictionary file.

If it does exist, it stores the line from the dictionary file into a variable.

The code was working, but then began to generate Server 500 errors, and now It only lists about 7 matches and then loads nothing forever.

It used to list the 1000's of matches and then stop.

$file_handle = fopen("POSdump.txt", "r");
while (!feof($file_handle)) {
   $line = fgets($file_handle);

   $words= explode(" ", $line ); 

   foreach 开发者_运维问答($words as $word) {

       $word = preg_replace('#[^\w+>\s\':-]#', ' ', $word);                

       $subwords= explode(" ", $word );

       $rawword = $subwords[0];   
       $poscode = $subwords[1];
       $rawword = strtoupper($rawword);       


             $handle = fopen("dictionary.txt","r"); // 

             if ($handle) {
               while (!feof($handle)) 
                           {
                      $buffer = fgets($handle, 4096); 

                        if (preg_match('#\b'.$rawword.'\b#',$buffer)) {


                        echo $rawword;
            echo "</br>";


                 }
             }
         }
     }
}

?>


Try closing the file when you are done.


This seems to be a memory_limit error. use ini_set('memory_limit', -1) before starting the process.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜