自动化php脚本以读取文件中的1000个链接并生成输出的最简单方法是什么?
我有这个PHP代码来读取他们是否有效的链接。目前我每次都在max 500 links
文件中复制/粘贴urls.txt
并产生结果,我的服务器不能处理更多。我需要查看15-20K links
。
<?php
$handle = fopen("urls.txt", "r");
if ($handle) {
while (($line = fgets($handle)) !== false) {
$link = trim($line);
$isValid = CheckLinks($link);
if($isValid){
echo "$link". "<br>";
}else{
echo "";
}
}
fclose($handle);
} else {
echo "Could not read urls.txt";
}
function CheckLinks($link) {
$url = $link;
$extpage = file_get_contents($url);
$notValid = strpos($extpage,"This page doesn't exists.");
return !$notValid;
}
?>
应该添加什么来检查此链接数量?
编辑:我希望它读取400-500行并给出输出然后接下来的500行,依此类推。
我是新手,如果我问得太多,请原谅我。
答案 0 :(得分:0)
您可以在每次检查后将脚本放到sleep:
while (($line = fgets($handle)) !== false) {
$link = trim($line);
$isValid = CheckLinks($link);
if($isValid){
echo "$link<br>";
} else {
echo "";
}
sleep(1); // add this line
}
如果每次迭代的1秒睡眠时间太长,您可以使用一个计数器,您可以增加到想要执行的检查次数,然后睡几秒钟并重置计数器。
最后,如果时间限制有问题,您可以使用set_time_limit(0)
完全删除限制。