PHP网页编程之PHP-Push手艺完成刷新功效 转载
学会了生成静态网页,现在你应该接触一下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等网页基本元素,完成阶段可自行制作完整的网页,对元素属性达到熟悉程度 首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。 装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。 实践是检验自己会不会的真理。 我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。 php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。 Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81 我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能: 爱上php,他也会爱上你。 至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。 找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。 爱上php,他也会爱上你。 多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。 首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。 本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。 我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能: 其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。 因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax 兴趣是最好的老师,百度是最好的词典。 最后介绍一个代码出错,但是老找不到错误方法,就是 go to wc (囧),出去换换气没准回来就找到错误啦。
页:
[1]