Heim  >  Artikel  >  Backend-Entwicklung  >  仿iPad界面的在线群聊

仿iPad界面的在线群聊

WBOY
WBOYOriginal
2016-07-25 09:01:361391Durchsuche
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_)*/', '\\0', $msg);
  24. $msg = preg_replace('/([a-zA-Z0-9_\.])+@([a-zA-Z0-9-])+\.([a-zA-Z0-9-]{2,4})+/', '\\0', $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. ?>
复制代码


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn