在线php
① php网站中,如何判断用户是否是在线的状态
普通http网站是一种无状态连接,每次一个请求,一个应答,没有长连接状态。
但是可以通过记录访问时间,来确定用户的状态。
用户登录后,每次访问,更新一下最近访问时间在数据库里
在用户页面的公共部分,做一个定时轮询,n秒一次(防止用户打开页面后放着不动,看资料或者做别的)
服务器端做一个定时,将最近时间在n秒内的用户设为在线状态,将最近时间大于n秒的(说明已经关了页面),设为离线状态。 如果是普通 web空间无法配置定时器,可以在每次用户访问时处理一次(如果用户量大,需要做时间判断,防止同时访问量多时多次重复处理,影响服务器性能)
如果能确定一个用户的访问,只有一个浏览器窗口,可以在窗口里加一个关闭事件(onbeforeunload),在此事件中发送一个退出请求,主动设为离线状态。这样状态管理会更完美一些
这样基本就可以完成一个在线状态的管理。具体n 设为多少可根据情况而定,一般5-30秒都是合理的,太短了服务器压力比较大,太长了误差会比较大
② PHP网站实现PPT的在线浏览
http://phppowerpoint.codeplex.com/
php的一个开源类,功能丰富
③ PHP中如何实现在线人数的统计和显示
要使用数据库,建立一个表,比如名字是online,至少有以下列:
name_ip 存放登录用户名,未登录的存放IP,char类型
url 存放每个页面的地址,char类型
last_time 存放刷新页面的最后时间,int类型
表的主键是:name_ip+url
每个页面一开始就要刷新这个表,使用的sql是:
$name_ip='用户名或者IP';//你能搞定
$url=$_SERVER["PHP_SELF"];
$time=time();
$sql="replace delayed into online (name_ip,url,last_time) values ('$name_ip','$url',$time)";
mysql_query($sql);
获取某页面在线人数的查询是语句
$limit=time()-10*60;//10分钟内访问的认为在线,10分钟*60秒/分钟
$sql="select count(*) from online where url='$url' and last_time>=$limit";
$res=mysql_query($sql);
list($online_count)=mysql_fetch_row($res);
mysql_free_result($res);
echo "本页面在线人数: $online_count";
④ php如何实现word在线预览
php 在线预览 word 文档,有多种方法,本质上来说,大多是调用客户端电脑系统安装的 Word 软件。
可以用 php 语言的 com 支持功能函数来完成,比如:
$word = new COM("word.application") or die("Unable to instanciate Word");$word->Documents->Open($url.$wordname);
或者使用 word 文档的插件来完成,比如:swftools 等。
⑤ PHP获取在线人数思路
用register_shutdown_function函数就行了。下面是例子。
<?php
function shutdown($user)
{
// This is our shutdown function, in
// here we can do any last operations
// before the script is complete.
// echo 'Script executed with success', PHP_EOL;
file_put_contents('d:/a.php',$user."已离线\n",8); //写入到d盘a.php文件中,追加方式。
}
register_shutdown_function('shutdown','abc'); //每个脚本加入这句就行了。
sleep(10); //这是本地测试用的,方便你关闭网页。
?>
⑥ php一个在线升级的功能,新的文件不能覆盖原来的文件呢,有没有会的
我建议你的升级脚本按照这种思路做:
1. 先把重要的文件移动到别的目录(比如配置文件等,这些升级后肯定还需要恢复。 然后把不重要的删除掉,你可以用php自带的函数,或者直接用php system 或 exec 调用系统命令完成)
2. 把升级包解压缩/复制到项目目录,然后恢复之前配置的重要配置文件
3.system 和 exex 函数都有返回值,你判断返回值成功后,返回客户端成功即可。
需要注意:脚本运行时间超时,php执行系统命令是否有权限。
上面的这些代码,如果是在linux下,可以写一个shell脚本,然后php调用即可。
⑦ php+html能够实现视频的在线 播放吗
1、通过网页(HTML5)调用摄像头,通过websocket传输给PHP后端(workerman), 再由后端广播给所有在线播放网页,观看者可以通过这个播放页面实时观看摄像头拍摄的内容。
2、
可以通过html版本的flash播放器
<p id="player3">
<a href="http://www.macromedia.com/go/getflashplayer">Get the Flash Player</a> to see this player.</p>
<script type="text/javascript">
var s1 = new SWFObject("flvplayer.swf","single","300","170","7");
s1.addParam("allowfullscreen","true");
s1.addVariable("file","videos /ld.Flv");//这边是视频在本地的路径
s1.addVariable("image"," videos/ld.jpg");//这边是你的视频的截图
s1.addVariable("width","300");
s1.addVariable("height","170");
s1.write("player3");
</script>
通常是用flv 播放器。
3、你可以直接把视频的这段html代码弄过来。
<embed src="http://player.youku.com/player.php/sid/XNDc4NDU1NjAw/v.swf" allowFullScreen="true" quality="high" width="480" height="400" align="middle" allowScriptAccess="always" type="application/x-shockwave-flash"></embed>
,搞个层,点击时候,弹出这个视频。
⑧ php实现离线在线功能
<?php
ignore_user_abort(true);
$arr="";
$max=1024;
for($i=0;$i<$max;$i++){
$arr.=$i;
}
while(true){
if(!connection_aborted()){
echo '';
ob_flush();
flush();
sleep(1);
}else{-----离线操作-----
exit(); <?php
ignore_user_abort(true);
$arr="";
$max=1024;
for($i=0;$i<$max;$i++){
$arr.=$i;
}
while(true){
if(!connection_aborted()){
echo '';
ob_flush();
flush();
sleep(1);
}else{-----离线操作-----
exit();
⑨ php实时在线视频聊天怎么实现
接入即构实时音视频sdk,可快速实现视频聊天功能,不限开发语言。
⑩ PHP中使用在线编辑器。。
实际中,在编辑器中上传的图片,是直接上传到了站点上编辑器设定的目录中。
编辑器窗体中能够显示出图片,实际上显示的是 <img scr="站点上图片的目录" /> 这样的一个标签,因为图片已经上传到了站点,所以能够在编辑器的窗体中显示出来。
实际上,编辑器在页面中时通过js加载过来的,它会取代html页面中 <textarea></textarea>标签(即<textarea>的display为none),即编辑器中有什么值,<textarea></textarea>中就有什么值,它们的值是同步的。
在html页面提交的时候,实际上提交的事 <form></form> 中的 <textarea></textarea>,在处理提交的php页面,通过 $_POST['textarea的名字'] 变量就能获取 编辑器中的值(即代码)。