我想列出10.000页在屏幕上使用php函数file_get_contents来获取一个数据库的信息。
这在第500页左右有效,然后脚本停止运行(页面已加载),并且不显示错误。
<?php
for ($nr=1; $nr<=10000; $nr++){
$url = "http://site.com/u$nr";
$string = file_get_contents($url);
echo '<textarea>'.$string.'</textarea>';
}
?>@编辑
我想让我的计算机通过Javascript操作这些信息,我认为这会给使用PHP操作HTML带来很多工作。在db中记录这些页面是一个好主意。
发布于 2013-02-01 15:55:51
我建议将你的time_limit设置在循环中。设置时间限制将在给定时间内“延长”超时时间;
<?php
for ($nr=1; $nr<=10000; $nr++){
$url = "http://site.com/u$nr";
$string = file_get_contents($url);
echo '<textarea>'.$string.'</textarea>';
// extend the time-limit with this amount of time,
// the amount of time this request is allowed to take
set_time_limit(5);
}
?>这样,您就不必计算10.000条记录的“总”时间限制,也不会允许单个请求花费(例如)1小时来完成
update OP发布的新信息表明他希望使用javascript处理输入。因此,更好的解决方案是使用jQuery一次获取所有页面1,处理信息并将结果提交到数据库,使用Ajax post并在服务器端将其保存到数据库
发布于 2013-02-01 15:47:05
检查您的错误日志。您的脚本可能已超时(默认值为30秒)。尝试使用http://php.net/manual/en/function.set-time-limit.php设置更大的超时
set_time_limit(120); // Script may run for 120 seconds before timing out
发布于 2013-02-01 15:46:14
你的PHP脚本超时了。默认最大执行时间为30秒。使用此函数
set_time_limt
顺便说一句,加载10,000个页面将花费相当多的(时间+带宽+资源),并且可能会使事情陷入困境
https://stackoverflow.com/questions/14641775
复制相似问题