当前位置:Gxlcms > PHP教程 > PHP进度条

PHP进度条

时间:2021-07-01 10:21:17 帮助过:3人阅读

PHP做进度条时,可以用 ob_flush(); flush(); 两个函数来刷新缓存,将缓存中的信息发往浏览器。但要注意很多服务器会积累满4k左右的内容才发送,所以可以通过填充空格( echo str_pad('', 4096); )来强制刷新。

  1. <code><span>public</span><span><span>function</span><span>insert</span><span>(<span>$data</span>,<span>$html</span>)</span>
  2. {</span><span>echo</span><span>$html</span>;
  3. <span>$i</span> = <span>0</span>;
  4. <span>$sum</span> = count(<span>$data</span>);
  5. <span>if</span>(<span>$sum</span> == <span>0</span>){
  6. <span>echo</span><span>"数据出错"</span>;
  7. <span>return</span>;
  8. }
  9. <span>$noped</span> = <span>0</span>;
  10. <span>try</span> {
  11. <span>foreach</span>(<span>$data</span><span>as</span><span>$v</span>){
  12. <span>$tdata</span>[] = <span>$v</span>;
  13. <span>$i</span>++;
  14. <span>if</span>( <span>$i</span>%<span>20</span>==<span>0</span> || <span>$i</span>==<span>$sum</span>-<span>1</span>){
  15. <span>$ret</span> = <span>$this</span>->btrManger_m->inserts100(<span>$tdata</span>); <span>//一次插入100条</span><span>if</span>(<span>$ret</span>){
  16. <span>$s</span> = <span>$i</span>/<span>$sum</span>*<span>100</span>;
  17. <span>echo</span> str_pad(<span>''</span>, <span>4096</span>); <span>//填充缓存</span><span>echo</span><span>""</span>;
  18. ob_flush();
  19. flush();
  20. }
  21. <span>else</span>{ <span>//出错 终止</span><span>break</span>;
  22. }
  23. <span>$tdata</span> = <span>array</span>();
  24. }
  25. }
  26. } <span>catch</span> (<span>Exception</span><span>$e</span>) {
  27. <span>echo</span><span>$e</span>;
  28. <span>return</span>;
  29. }
  30. <span>$resultStr</span> = <span>"'共计"</span>.<span>$sum</span>.<span>"条记录,成功操作完成"</span>.<span>$i</span>.<span>"条!'"</span>;
  31. <span>echo</span><span>""</span>;
  32. }</code>

前端用bootstrap的进度条实现:

  1. <code><span><span>function</span><span>setProgressBar</span><span>(width)</span>{</span>
  2. str=width+<span>"%"</span>;
  3. $(<span>'.progress-bar'</span>).attr(<span>'aria-valuenow'</span>,str).css(<span>'width'</span>,str) .html(str);
  4. <span>if</span>(width == <span>100</span>){
  5. $(<span>'#idInsertResult'</span>).html(<span>"数据操作完成!"</span>);
  6. }
  7. }</code>
  1. <code><<span>div</span><span>class</span>=<span>"progress"</span>>
  2. <<span>div</span><span>class</span>=<span>"progress-bar progress-bar-info progress-bar-striped active"</span> role=<span>"progressbar"</span> aria-valuenow=<span>"0"</span> aria-valuemin=<span>"1"</span> aria-valuemax=<span>"100"</span> style=<span>"width: 3%;"</span>>
  3. <span>0</span>%
  4. <!--<span-->div>
  5. <!--<span-->div></code>

版权声明:本文为博主原创文章,未经博主允许不得转载。

以上就介绍了PHP 进度条,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

人气教程排行