我在他们经常要在$时间变量执行PHP循环每X秒
这个定义发送消息的用户类型是循环代码我现在所拥有的
$time = $_POST["time"];
for ($x = 0; $x < $amount; $x++) {
mail($completenum, $subject, $message, $headers);
sleep($time);
}
这个代码的问题是消息永远不会被发送,我相信这是因为睡眠函数会暂停脚本。有任何想法吗?
我在他们经常要在$时间变量执行PHP循环每X秒
这个定义发送消息的用户类型是循环代码我现在所拥有的
$time = $_POST["time"];
for ($x = 0; $x < $amount; $x++) {
mail($completenum, $subject, $message, $headers);
sleep($time);
}
这个代码的问题是消息永远不会被发送,我相信这是因为睡眠函数会暂停脚本。有任何想法吗?
PHP是不是真的这样做的正确的语言,你想试试JavaScript或类似。
PHP的设计让它在加载时动态地构建一个页面。通过把一个睡在那儿,你延缓页面的加载时间,以及服务器和/或浏览器最终将超时 - 预计不会页采取过长的时间来加载,这通常表示错误。不同的浏览器会做不同的事情,如果延迟很长,你需要修改所有的超时设置。
是不断在浏览器中运行的脚本语言将是能像你一样要定期踢东西了,甚至更新的页面 - 要在其后的页面加载的不断执行代码。或者,如果您只需要PHP,您的PHP代码可以将请求存储在数据库中,然后您可以在后台定期使用另一个“处理”页面,并使用cron作业或类似内容发送出去按照时间延迟发送电子邮件。有办法达到你想要什么用PHP只,这取决于实际最终导致你后,但是把睡眠()到这样一个网页的加载速度是不可能成为一个可靠的解决方案。
好,使一个很大的意义做到这一点。那么我会看看javascript! – DanMossa 2014-12-06 10:13:07
你应该使用jQuery/Ajax和的setTimeout或setInterval的,而不是 – CRABOLO 2014-12-06 08:00:21