Fscanf останавливается после 130 строк PHP - PullRequest
0 голосов
/ 05 июля 2011

Я работал над этим уже несколько дней, думал, что у меня это есть, но был неправ.

    $done=0;
    $filename = "raw_urls.txt";
    if(! ($fhandle = fopen($filename, "r")))
    { echo "File failed to open"; 
         Exit; }
    while((fscanf($fhandle, "%s\n",$url_full))!== false)
     {     
       print (mysql_error());

     if(strlen($url_full) > 3)
     {
        $url_stat++;
        $end_st = strlen($url_full)-29;
        $s_url= substr($url_full,29,$end_st);
        }
     else{
         $done++;
         }

     $res1=sql("SELECT * FROM `spy3` WHERE `Landingpage` LIKE '%$s_url%' LIMIT 0, 30 ",$o);
     if($row=mysql_fetch_array($res1))
        {
         $lp=$row[6];
         $found++;  
        }
       else{
        $nfound++;
        }


sql("insert into sitemap (url, stat_url,nf, s_recno) 
values (
'$url_full',
'$lp',
'$nfound',
'$url_stat'
)", $o);
print (mysql_error());
$found=0;
$nfound=0;
}

?>

Я пробовал fgets, менял текстовые файлы, он всегда останавливался между 128 и 132 строками текста. В текстовом файле 2500 строк. Память Php.ini очень большая. Если я порежу txt файл, где он остановится и сохраню его, его 9k большой.

1 Ответ

0 голосов
/ 05 июля 2011

видели эту ссылку ..?

Пожалуйста, нажмите здесь

ИЛИ

Вы также можете использовать fseek($handle, 0); И см.эта ссылка

Спасибо.

...