首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >file_get_contents

file_get_contents
EN

Stack Overflow用户
提问于 2013-02-01 15:43:27
回答 4查看 1.3K关注 0票数 3

我想列出10.000页在屏幕上使用php函数file_get_contents来获取一个数据库的信息。

这在第500页左右有效,然后脚本停止运行(页面已加载),并且不显示错误。

代码语言:javascript
复制
<?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中记录这些页面是一个好主意。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-02-01 15:55:51

我建议将你的time_limit设置在循环中。设置时间限制将在给定时间内“延长”超时时间;

代码语言:javascript
复制
<?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并在服务器端将其保存到数据库

票数 2
EN

Stack Overflow用户

发布于 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

票数 1
EN

Stack Overflow用户

发布于 2013-02-01 15:46:14

你的PHP脚本超时了。默认最大执行时间为30秒。使用此函数

set_time_limt

顺便说一句,加载10,000个页面将花费相当多的(时间+带宽+资源),并且可能会使事情陷入困境

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14641775

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档