$done=0;
$filename = "raw_urls.txt";
if(! ($fhandle = fopen($filename, "r")))
{ echo "File failed to open";
Exit; }
//
// main loop reads sitemap url list
//
while($url_full_raw = fgets($fhandle,4096))
{
print (mysql_error());
$url_full= preg_replace('/[\x00-\x1F\x80-\xFF]/', '', $url_full_raw);
if(strlen($url_full) > 3)
{
$url_stat++;
// Echo ' tp1 Url from sitemap:',$url_stat,' - ' ,$url_full,'<br>';
$end_st = strlen($url_full)-29;
$s_url= substr($url_full,29,$end_st);
//Echo 'short:',$s_url,'<br>';
$url_full_raw= '';
}
else{
$done++;
Echo '----------- short string ---------------';
}
//
// Check for url
//
$res1=sql("SELECT * FROM `spy3` WHERE `Landingpage` LIKE '%$s_url%' LIMIT 0, 30 ",$o);
if($row=mysql_fetch_array($res1))
{
$lp=$row[6];
$found++;
// Echo '------->Url from sitemap:',$url_full,'<br>';
}
else{
Echo 'Not Found:-> ',$s_url,'<br>';
$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;
}
所以代码效果很好。除了一个问题,在大约130行后,它停止。它退出程序没有错误。是的完整错误报告已启用。 PHP.ini内存很大。 如果我编辑txt文件并取出一些行,没有区别。我一直在研究这个问题好几个小时。
答案 0 :(得分:2)
尝试按照their example ...与!== false
的方式进行操作。即,
while(($url_full_raw = fgets($fhandle,4096))!==false) {
我猜你的内容因任何原因都在评估为假。恰好是130行(将130行放入文本文件中,查看文件大小是否接近4 KB)。
此外,您可能希望下次修复格式。让我们很难阅读和帮助你。