仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2573|回复: 19
打印 上一主题 下一主题

[学习教程] PHP网页编程之PHP-Push手艺完成刷新功效 转载

[复制链接]
小女巫 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-4 00:30:49 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
学会了生成静态网页,现在你应该接触一下XML了,恩,XML也了解了,那么AJAX你也得接触接触吧?AJAX完了....然后...刷新   Server push 前一段工夫炒得很热的“推”手艺,不外网上大局部都是cgi的材料,偶然看到一个法国的网站上有这么个引见,惋惜法语看不懂,只能从他的法式中看懂点器材,现收拾整顿个例子出来人人进修一下。可以用于聊天室的数据传输、网站上的旧事更新、等等各类更新频仍的页面。 之前做刷新次要经由过程页面上加标签。

 
< META HTTP-EQUIV=REFRESH CONTENT="time;URL=url" >


或利用javascript的timeout+reload,不外这类刷新的办法取决于工夫的设定,没法一连的数据传输且工夫欠好肯定。采取了Server push的办事器在客户机做出一个恳求后,和客户机创立一个永世的毗连,然后办事器会依据客户机的恳求不休地把数据包推向办事器。那些你发觉不到的延迟会让你感觉办事器的呼应和你的恳求已到达了同步的水平。

先来看一下例子再注释。

 img.php

  < ?php
    set_time_limit(0);
    $file = "./1.jpg";
    $sep = "gIrLsKiCkAsSiTsAySsOoNaTsHiRt";
  if(ereg(".*MSIE.*",$HTTP_SERVER_VARS["HTTP_USER_AGENT"])){
  //假如是ie阅读器,直接输入就加入,IE的不撑持哦,我没试出来过
    header("Cache-Control: no-cache");
    header("Pragma: no-cache");
    header("Content-type: image/jpeg");
    header("Content-size: " . filesize($file));
    readfile($file);
  }else{
    header("Content-Type: multipart/x-mixed-replace; boundary=$sep");
  //这里是关头哦,看看MIME类型申明

  //你会分明
  print "--$sep
";
  do{
    print "Content-Type: image/jpeg
";
    readfile($file);
    print "
--$sep
";
    flush();
    $mt = filemtime($file);
    do{
      sleep (1);
      clearstatcache();
     }while($mt == filemtime($file));
  }while(1);
}
? >




这就是一个永世履行的页面(收集不休的情形下),不休输入图片的内容,上面是挪用的页面。<img src=http://www.163design.net/p/b/img.php>,然后翻开你的netscape或其他非ie阅读器检查挪用页面,好象没甚么变更啊,别急,接着就是如何变化1.jpg这个图片了,写个别的的php页面来测试吧,好比弄2张图片按工夫来掩盖1.jpg(这个办法本人想,用拷贝掩盖也行,只需1.jpg有变更)。这时候你就看到挪用页面的图片主动更新了。

利用中你会发明个成绩:怎样图片不主动更新了。这是因为客户机在一段工夫内没有对办事器产生恳求,也就是某一段工夫内没有新的内容向阅读器输出,能够产生毗连超时景象。甚么举措处理呢?可以在履行页面中加个向阅读器发送一个空旌旗灯号,相似ftp毗连体例,下面页面中在do...while(1)间加个print("");

看完这个例子,应当晓得怎样处置不休更新的内容了,关头在img.php页面中的处置(可所以反省新的内容并输入),挪用的时分可以有img、script、frame等等。
  熟悉HTML/CSS/JS等网页基本元素,完成阶段可自行制作完整的网页,对元素属性达到熟悉程度
小女巫 该用户已被删除
沙发
 楼主| 发表于 2015-5-1 07:59:52 | 显示全部楼层
本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-7 16:41

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表