2012-01-08 18 views
0

我有一个发送通知邮件的PHP页面。当它发出超过100次时,它会超时。我希望页面能够像Kayak一样工作,以便用户可以看到进度(因此他们会等待更长的时间)。PHP页面超时 - 我可以通过异步显示来解决吗?

如何将我的页面快速发送邮件之前加载(防止超时),然后更新为当过程运行(例如,作为每封电子邮件被发送行被写入到屏幕)?

+0

使用AJAX。最好不要在服务器端的PHP。像这样的东西确实需要一个工作者线程 - 也许你可以用['proc_open()'](http://php.net/manual/en/function.proc-open.php)来模仿它,但这并不容易 - 你最好开始一个工作进程,然后用AJAX轮询数据库以获得进度更新。 – DaveRandom 2012-01-08 17:15:08

回答

0

你可以使用AJAX做到这一点。发送一个发出50(或任何其他适合时间限制的数字)的AJAX请求并回显结果。当请求成功完成后,使用名为offset的参数发送下一个AJAX-Request,该参数将用于跳过第一个X数据集。

+0

谢谢 - AJAX跨越了一堆技术 - 你能更具体 - 我假设你建议使用Javascript。任何指向示例代码或例程的指针都可以实现您所描述的内容/更具体而言非常赞赏以说明您的答案。 – rihallix 2012-01-08 19:39:33

+0

我认为是这样的:https://gist.github.com/1582933的JS是一个jQuery的AJAX请求,我想这可能是无论如何理解。该代码没有测试工作,但它应该给出一个想法如何做。 – TimWolla 2012-01-09 13:30:15

相关问题