下面我用读写文本文件的方式给大家简单介绍一下聊天室的制作。该聊天室一共有四个主要的PHP文件:
login.php用来登录
htmlbodyform action="chat.php"房 间:select name="room" option value="大厅"大厅/option option value="客房"客房/option option value="后院"后院/option /select您的大名:input type="text" name="name"input type=submit value="进入"/form/body/html
chat.php为主文件
htmlheadtitle简易聊天室(作者:东方一蛇(http://phpinto.126.com))/title/headframeset rows="80%,*" cols="*" frame src="view.php?room=?php echo $room; ?" frame src="input.php?name=?php echo $name; ?&room=?php echo $room; ?"/framesetnoframesbody bgcolor="#cccccc"/body/noframes/html
view.php用来显示聊天
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)htmlmeta http-equiv="Refresh" content="5; url=view.php?room=?php echo $room; ?"body bgcolor="#cccccc"?switch ($room) { case '大厅': $write_file="1.txt"; break; case '客房': $write_file="2.txt"; break; case '后院': $write_file="3.txt"; break; default: $write_file="0.txt"; break;}$chat_lenght = 25;$lines = file($write_file);$a = count($lines);$u = $a - $chat_lenght;for($i = $a; $i = $u ;$i--){ echo $lines[$i] . "br"; }?/body/html
input.php用来输入聊天语句
htmlheadtitle简易聊天室(作者:东方一蛇(http://phpinto.126.com))/title/headbody bgcolor="#cccccc" topalign=0?#说明:为了避免重复,再加上我本人比较懒,以下所有注释我没有在该文件中说明,您可以在本人的网站上看(http://phpinto.126.com) # 注释1$name = str_replace ( "", "", $name);$name = str_replace ( "", "", $name);$name = stripslashes (trim($name));?table border=0form action="input.php" method="post"tr td房间:font color=blue? echo $room; ?/fontinput type="hidden" name="room" value="? echo $room; ?"大名: font color=blue? echo $name; ?/fontfont style="font-size:9pt;color=color:#cccccc" 有任何问题或建议请去a href="http://phpinto.126.com" target=home主页/a联系a href="mailto:greenchn@163.net"东方一蛇/a/fontbr/td/trtrtdinput type="hidden" name="name" value="? echo $name; ?"内容: input type="text" name="message" size=75input type="submit" value="确定"/form/td/tr?$t = date(d日H时i分); # 注释2$talk = 100; # 注释3$r = 25; # 注释4switch ($room) { case '大厅': $write_file="1.txt"; break; case '客房': $write_file="2.txt"; break; case '后院': $write_file="3.txt"; break; default: $write_file="0.txt"; break;}$max_file_size = $r * ($talk+15); # 注释5$file_size= filesize($chat_file); if ($file_size $max_file_size) { $lines = file($write_file); $tmp= count($lines); $u = $tmp - $r; for($i = $tmp; $i = $u ;$i--) { $msg_old = $lines[$i] . $msg_old; } $deleted = unlink($write_file); # 注释6 $fp = fopen($write_file, "a+"); # 注释7 $fw = fwrite($fp, $msg_old); fclose($fp);}$msg = str_replace ( "", " ", $message);$msg = str_replace ( "", "",$msg);$msg = str_replace ( "", "",$msg);$msg = stripslashes ($msg); if ($msg != ""){ $fp = fopen($write_file, "a+"); $fw = fwrite($fp, "b[$t]$name :/b $msg"); # 注释8 fclose($fp);}?/body/html
注释说明
注释1:这里处理和符号,上面的显示可能有问题,您应该将第二个(或)变成&加上lt(或gt)
注释2:函数date的用法请大家参考有关文档
注释3:设定聊天语句最长值
注释4:设定浏览器显示的聊天语句行数
注释5:这里加上15是为了将聊天的时间长度加进去
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)注释6:文件过长就删除,再新建立一个
注释7:以写的方式打开一个文件,如果该文件不存在就建立一个
注释8:将聊天时间,聊天人,语句写到文件中
最后:大家可以将本聊天室进行改造,加入房间,新建房间等等