PHP+txt聊天室
最近朋友发了一篇ASP+txt聊天室,非常不爽,我可是支持PHP的啊
所以就发了这篇文章
由于是临时写的,所以可能会有问题,如果发现请指出
环境配置
PHP版本: PHP7
服务器: 推荐Apache24,其他的也没有影响
系统: Windows或Linux都可以
目录:
在你的服务器任意目录就可以
在目录下要有几个文件:
index.php
chat.css
chat.js
//前端,以后会讲
enter.php
//进入聊天通道,前端
background.php
//后端
chats (文件夹)
//用于存放聊天记录
chats_info.txt
//在进入聊天时会用到
//如果在检查聊天密码时想偷懒,就将聊天密码信息放在这
/*格式:
聊天名称 (换行)
聊天密码*/
登录聊天
/*首先要有一个enter.php,这是用户进入聊天室的通道
这个页面可以放在后端
这个页面用于检查用户密码是否正确,聊天密码是否正确等
这个页面要创建几个COOKIE:
username: 用户名(这个在登录时就可以创建)
password: 用户密码(在登录时就可以创建)
chat_name: 聊天名称
chat_password: 聊天密码*/
//以下是示例代码
$username=$_POST["username"];
/*获取用户名
如果在登录时使用COOKIE则用
$username=$_COOKIE["username"];
用GET方式请求则相应变化*/
$password=$_POST["password"];
$chat_name=$_POST["chat_name"];
$chat_password=$_POST["chat_password"];
function check_password($password, $username)
{
/*
连接数据库检查用户密码是否存在
最后返回OK或密码不正确等提示
*/
return "OK";//如果不想判断就直接返回OK
}
function check_chat_exists($chat_name)
{
//检查聊天是否存在
//这里通过检查存放聊天记录的文件是否存在来检查
if(file_exists("chats/" . $chat_name . ".txt"))
{
return "OK";
}
else
{
return "Error: Can not find the chat";
}
}
function check_chat_password($chat_name, $chat_password)
{
/*
连接数据库检查聊天密码
如果你使用txt来检查密码,那么可以使用以下代码
*/
$f=fopen("chats_info.txt", "r");
$line="";//存储读取到的信息
$line_num=1;//行数
$r="Can not find your chat";//返回值
while(!feof($f))//逐行读取
{
$line=fgets($f);
if($line_num%2==0)
{
//通过单复数来判断读取到的是聊天名称还是密码
if($line==$chat_name)//聊天名称是否相符
{
//检查密码
if(fgets($f)==$chat_password)
{
$r="OK";
break;
}
else
{
$r="Your password is not correct";
break;
}
}
}
$line_num=$line_num+1;
}
fclose($f);
return $r;
}
$back=check_password($password, $username);
if($back=="OK")
{
$back=