>  기사  >  백엔드 개발  >  iPad와 유사한 인터페이스를 갖춘 온라인 그룹 채팅

iPad와 유사한 인터페이스를 갖춘 온라인 그룹 채팅

WBOY
WBOY원래의
2016-07-25 09:01:361398검색
web在线群聊(iPad界面) 源码全部在ichat.zip压缩包里
主要包括三个文件:
index.php:表单值获取昵称文件,传值给 chat.php文件;
chat .php :主要文件,获取index.php的传值后,判断是否填写昵称,空则为游客,本页包含聊天内容输入文本框,提交给本页面处理,将聊天记录保存在自动创建的chat.txt文件中,使用iframe调用view.php来显示聊天内容;
view .php : 按行读取chat.txt文件的内容,逆序输出,每间隔20s自动刷新
待改进方面:(本人新手,正在学习中
1.防刷新机制
2.读取内容应该用ajax
演示地址:http://qhbbs.tk/
iPad와 유사한 인터페이스를 갖춘 온라인 그룹 채팅
  1. /*创建会话,判断是否填写昵称,没有则为游客*/
  2. session_start();
  3. if(isset($_SESSION['views']))
  4. $_SESSION['views']=$_SESSION['views'] 1;
  5. else
  6. $_SESSION['views']=1;
  7. if($_SESSION['views']==1)$_SESSION['username']=$_POST['user'];
  8. if(!$_SESSION['username'])$_SESSION['username']="游客";
  9. if($_POST['user'])$_SESSION['username']=$_POST['user'];
  10. $user=$_SESSION['username'];
  11. $words=$_POST['words'];//聊天内容赋值
  12. if(empty($words))exit;
  13. savechat($words,$_SESSION['username']);//保存聊天内容
  14. /*以下为保存聊天内容函数*/
  15. function savechat($msg, $user)
  16. {
  17. $date=date('H:i:s',time());
  18. $DOCUMENT_ROOT=$_SERVER['DOCUMENT_ROOT'];
  19. if (!$fp=fopen("$DOCUMENT_ROOT/chat.txt",'a ')) {
  20. die('创建聊天记录文件失败, 请检查是否有权限.');
  21. }
  22. $msg = htmlspecialchars($msg);
  23. $msg = preg_replace('/([httpftp://])*([a-zA-]) .([a-zA-Z0-9_-]) .([a-zA-Z0-9_-]) (a-zA-Z0-9_)*/', ' target=_blank>
    ', $msg);
  24. $msg = preg_replace('/([a-zA-Z0-9_.]) @([a-zA-Z0-9-]) .([a-zA-Z0-9-]{2,4}) /', '>
    ', $msg);
  25. $msg ='['.$date.']'."t".$user.":".$msg."n";
  26. if (!fwrite($fp, $msg)) {
  27. die('写入聊天记录失败.');
  28. }
  29. fclose($fp);
  30. }
  31. ?>
复制代码
  1. $DOCUMENT_ROOT=$_SERVER['DOCUMENT_ROOT'];
  2. $fp=fopen("$DOCUMENT_ROOT/chat.txt",'a ');
  3. if(!$fp){
  4. echo "

    Didn't write chat log in chat.txt.Please try say again.

    ";
  5. exit;
  6. }
  7. $handle=$fp;
  8. $temp_arr=array();
  9. do
  10. {
  11. $file=fgets($handle,1024);
  12. $temp_arr[]=$file;
  13. }
  14. while(!feof($handle));
  15. fclose($handle);
  16. krsort($temp_arr);//逆序
  17. foreach($temp_arr as $value){
  18. echo "".$value.""."
    ";
  19. }
  20. ?>
复制代码


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.