Php 使用IMAP阅读电子邮件,同时显示进度
使用IMAP,我需要读取邮件帐户并将邮件ID保存到MySQL表中,同时用“*”显示进度 我的代码似乎工作正常,但没有产生预期的结果 以下代码部分:-Php 使用IMAP阅读电子邮件,同时显示进度,php,mysql,imap,Php,Mysql,Imap,使用IMAP,我需要读取邮件帐户并将邮件ID保存到MySQL表中,同时用“*”显示进度 我的代码似乎工作正常,但没有产生预期的结果 以下代码部分:- $MC = imap_check($mbox); $result = imap_fetch_overview($mbox,"1:{$MC->Nmsgs}",0); $count = 0; echo "Total - ".$MC->Nmsgs." </br>"; foreach ($result as $overvi
$MC = imap_check($mbox);
$result = imap_fetch_overview($mbox,"1:{$MC->Nmsgs}",0);
$count = 0;
echo "Total - ".$MC->Nmsgs." </br>";
foreach ($result as $overview) {
$message_id = $overview->message_id;
$query = "INSERT INTO `$sqltable` (`message_id`) VALUES ('$message_id')";
$results = mysql_query($query);
$count = $count +1;
echo "*";
if ($count >= 80) {
$count = 0;
echo "<br>";
}
}
$MC=imap\U支票($mbox);
$result=imap\u fetch\u overview($mbox,“1:{$MC->Nmsgs}”,0);
$count=0;
echo“总计-”$MC->Nmsgs.”;
foreach($结果作为$overview){
$message\u id=$overview->message\u id;
$query=“插入到“$sqltable”(`message\u id`)值(`message\u id')”;
$results=mysql\u query($query);
$count=$count+1;
回声“*”;
如果($count>=80){
$count=0;
回声“
”;
}
}
数据库开始使用结果进行更新,但在该过程完成之前,不会显示消息总数和进度指示器“*”
如有任何建议,将不胜感激
谢谢刷新输出。脚本的输出是缓冲的,您必须明确要求系统在脚本仍在运行时开始将其发送到客户端
当然,您将拥有所有有趣的“细节”,比如必须在保存每条消息之前处理客户端中止时发生的情况等。您需要刷新输出。有两种方法: 1-关闭内容缓冲,以便立即将其推送到浏览器:
ob_implicit_flush(true);
ob_end_flush();
2-在foreach内部,关闭前}添加代码以将缓冲区发送到浏览器:
flush();
ob_flush();