PHP处理在线用户
转贴自: http://hi.baidu.com/isnono/blog/item/3c94ea11a54a0fc7a7ef3f94.html
经常在CSDN的PHP论坛上看到有朋友问处理在线用户的问题,我写过类似的代码,就拿出来献丑了,有点垃圾,基本上实现了功能, 同是也能够扩展,比如同时只允许一个帐号在线等。
/*
程序用途:检测在线用户
程序作者:heiyeluren
写作时间:2004/6
*/
<? session_cache_limiter("private,max-age=10800"); ?>
<? @session_start(); ?>
<? include("Function.php"); ?>
<? include("ConnDB.php"); ?>
<? include("Const.php"); ?>
<?php
//在线用户处理
if (isset($user_name))//如果session写了,那么用户已经登陆
{
$result = mysql_query("SELECT * from aliang_online WHERE OnlineUser = '$user_name' ") or die($die_msg."用户有没有写入在线列表");
//查询看看用户有没有写入在线列表
$num = mysql_num_rows($result);
if ($num != 0) //如果已经写入了在线列表,就更新最后在线时间和状态
{ //$now_time是自定义的一个常量,代表现在时间的时间戳,该常量在const.php中设置
mysql_query("UPDATE aliang_online SET LastTime = $now_time,UserState = 1 WHERE OnlineUser = '$user_name' ") or die($die_msg."如果写了,那就更新时间");
}
else //如果用户没有在在线列表,那么就把该用户写入在线用户列表
{
mysql_query("INSERT INTO aliang_online SET OnlineUser = '$user_name' , LoginIP = '$REMOTE_ADDR' , LoginTime = $now_time , LastTime = $now_time , UserState = 1 ") or die($die_msg."如果没有写,那就写");
}
}
else //如果用户没有登陆,或者是访客,那么就使用IP地址来定位是否已经在在线列表
{
$result = mysql_query("SELECT * from aliang_online WHERE LoginIP = '$REMOTE_ADDR' ") or die($die_msg."如果是访客,就看看有没他IP");
$num = mysql_num_rows($result);
if ($num != 0) //如果访客的IP地址已经在列表中了,那么就更新访客最后时间和状态
{
mysql_query("UPDATE aliang_online SET LastTime = $now_time,UserState = 1 WHERE LoginIP = '$REMOTE_ADDR' ") or die($die_msg."如果有IP,就更新他的时间");
}
else &
相关文档:
只是思路,还没验证. 用Windows的计划任务每隔一个小时运行一个php脚本. 该php脚本会将半个小时候要执行的PHP代码写入一个固定的php文件中. 用第二个计划任务在第一个计划任务执行后半个小时,执行上面的固定的php文件. 实际情况等有空实验后再说. ......
JSON 是一项旨在允许中间件创建使用 JavaScript 固有格式的对象的协议。它最强大的属性是它是一种轻量级协议。简单处理 RSS 聚合或 recipe 列表时,您不需要在 JavaScript 中使用 XML 的全部功能。不需要验证格式或确保严格的数据键入。
编码和解码
有两个函数用于 JSON:encode 和 decode。第一个函数将把任意类型的数 ......
接收xml:
$xml = file_get_contents('php://input');
发送(post):
$xml_data = <xml>...</xml>";
$url = http://dest_url;
$header[] = "Content-type: text/xml";//定义content-type为xml
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_ ......
数学函数
Abs
函数描述:mixed abs(mixed number);
返回值:函数abs返回参数number的绝对值。
Acos
函数描述:double acos(double number);
返回值:函数acos返回参数number的反余弦值。如果参数number大于1或小于1,
则其反余弦值无意义 。
Acosh --
反双曲余弦
Asin
函数描述;double asin(double number); ......