在历经无数困扰之后,我发现,当我在PHP邮件脚本中使用flush函数时,浏览器竟然出现了令人不悦的垃圾字符或转储字符。这些字符如同顽固的污渍,让人无法忽视。
if ($mail->Send()) { echo "<br><font color=darkgreen>[$num successful send to $to]</font> "; // flush(); return true; }
如果我注释掉那行刷新代码,out的内容就变得简单明了,清晰易懂,如同纯正的英语。然而,一旦取消注释,整个页面的文本就像一堆混乱的垃圾。现在的问题是,这是PHP的问题、浏览器的问题,还是服务器的问题呢?如果我在shell终端内使用同样的脚本,也就是在终端内部执行,我可以看到HTML输出,但在浏览器中却无法正常显示。
那么如何解决这个flush刷新显示垃圾字符的问题呢,下面可有有2个方法来解决。
1、修改php.ini配置文件,找到并修改zlib_compression off
2、按照以下代码例子来写flush代码。
for ($i = 0; $i < 6; $i++) { ob_start(); echo "$i"; ob_end_flush(); flush(); sleep(1); }
免责声明:
本页网址:点击复制分享给朋友吧!
本站分享的一切内容资源如若没有备注,均为蓝叶原创,如需转载请注明出处;如有侵权请与我们联系处理。敬请谅解!