>  기사  >  백엔드 개발  >  ajax php 聊天室实例代码(1/5)_PHP教程

ajax php 聊天室实例代码(1/5)_PHP教程

WBOY
WBOY원래의
2016-07-13 10:58:09961검색

/*
ajax php 聊天室实例代码
但是必须基于以下条款:
  * 署名。你必须明确标明作者的名字。.
  * 非商业用途。 你不可将当前作品用于商业目的。
  * 保持一致。 如果你基于当前作品更改、变换或构造新作品,你应当按照与当前协议完全相同的协议分发最终作品
  * 对于任何二次使用或分发,你必须让其他人明确当前作品的授权条款
  * 在得到作者的明确允许下,这里的某些条款可以放弃

此约定是法律文本 (完整的协议)的简单易读概要
****************************************/
//****************参数设置****************
//显示在线用户

$disonline = true;
//新登陆时显示最近内容的条数(默认为30条)
$leastnum = 30;
//默认的房间名(默认是每天换一个文件),如果去掉d,则是每月换一个文件
$room = date("y-m-d");
//房间保存路径,必须以/结尾
$roomdir = "rooms/";
//编码方式
$charset = "utf-8";
//客户端最大显示内容条数(建议不要太大)
$maxdisplay = 300;


//语言
$lang = array(
//聊天室描述
"description"=>"欢迎来到迷你ajax聊天室。最新版本 1.2。下载请到www.bKjia.c0m",
//聊天室标题
"title"=>"mini ajax chatroom by longbill",
//第一个到聊天室的欢迎
"firstone"=>"welcome to longbill's mini ajax chatroom!",
//当信息有禁止内容时显示
"ban"=>"i am a pig!",
//关键字
"keywords"=>"聊天室,迷你,小型,ajax,chat,chatroom,longbill,bKjia.c0m,php,网页特效",
//发言提示
"hereyourwords" => "在这里发言!"
);

error_reporting(e_all ^ e_notice ^ e_warning);
header("content-type:text/html; charset=utf-8");

$get_past_sec = 3; //如果发现丢话,可以适当调大这个值
$touchs = 10; //检查在线人数的时间间隔

 

if (!function_exists("file_get_contents"))
{
 function file_get_contents($path)
 {
  if (!file_exists($path)) return false;
  $fp=@fopen($path,"r");
  $all=fread($fp,filesize($path));
  fclose($fp);
  return $all;
 }
}

if (!function_exists("file_put_contents"))
{
 function file_put_contents($path,$val)
 {
  $fp=@fopen($path,"w");
  fputs($fp,$val);
  fclose($fp);
  return true;
 }
}

 

$title = $lang["title"];
$earlier = 10;
$description = $lang["description"];
$origroom = $room;
$least = ($_get["dis"])?intval($_get["dis"]):$leastnum;
$touchme = $_post['touchme'];
if (!is_dir($roomdir)) @mkdir($roomdir) or die("error when creating folder $roomdir");
$room = $_get['room'];
if (!$room) $room = $_post["room"];
$room = checkfilename($room);
if (!$room) $room = $origroom;
$filename = $roomdir.$room.".dat.php";
$datafile = $roomdir.$room.".php";
if (!file_exists($filename)) @file_put_contents($filename,''."n".time()."|".$lang["firstone"]."n");
if (!file_exists($datafile)) @file_put_contents($datafile,''."n");
$action = $_post["action"];

function checkfilename($file)
{
 if (!$file) return "";
 $file = trim($file);
 $a = substr($file,-1);
 $file = eregi_replace("^[.\/]*","",$file);
 $file = eregi_replace("[.\/]*$","",$file);
 $arr = array("../","./","/","\","..\",".\");
 $file = str_replace($arr,"",$file);
 return $file;
}

1 2 3 4 5

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/632034.htmlTechArticle?php教程 /* ajax php 聊天室实例代码 但是必须基于以下条款: * 署名。你必须明确标明作者的名字。. * 非商业用途。 你不可将当前作品用于商...
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.