搜索
首页php教程php手册PHP教程实例:用PHP打造动态聊天室系统

  这是一个简单的用PHP设计的聊天室程序,目的是通过这个程序让大家熟悉PHP如何处理表单数据的!

  这个经过精心设计的web聊天室使用了从表单传递过来的变量,并且把它们处理为HTML ,然后将其写入文件。把表单和信息文件放在一个框架中,你可以看到它与一个叫BeSeen的聊天室很象。当然它的好处在于, 我们的聊天室比起它的BeSeen堂兄弟来说要聪明一些。


Name :

Message :


  上面就是基本的用于输入的表单。你可能想把它弄得更美观一些,但是不管出于什么目的,这个就是你要处理的。它发送两个变量给chat.php3,分别叫做$name和$message。

  不过,在处理那些变量之前,我们需要从消息文件中把当前的内容取出来,否则在一个时间里我们只能看到一条消息了。几乎没有一个方法可以管理对话。只有象我一样对自已的消息文件的结构很熟悉,我就知道每一条消息都以一个回车符结束。这就是说,可以使用file()函数来将消息文件读到一个数组中去。

  消息文件有12行。在12行中,第1行为头信息,第2行到11行为旧的消息,第12行包含了我的脚标。

  我最感兴趣的是得到一个能够包含所有那些旧消息的字符串。

// 把文件读到一个数组中
$message_array = file("messages.html");
// 编辑字符串
for ($counter = 1; $counter $old_messages .= $message_array[$counter];
}
?>

  在处理字符串的时候,我将for循环的$counter初始化为1而不是0。这是因为我知道$message_array 数组的第0个元素包含的是我的头信息,我不需要它。而且,通过设置循环结束条件为$counter

  现在已经有了旧的消息,接着我想生成新的消息。我们已经有了两个变量:$name 和$message,所以写出一个新的消息就很容易了。

"; ?>

  我们就快要写好消息文件了。剩下需要的就是头信息和脚标。先加入简单的头部信息:

// 除了在字符串末尾有回车符,其它地方不能有回车符,这一点很重要。
// 要把所有的头信息放在一样。
$header = "

";
?>

  我们想让消息屏幕能够自动刷新,那么人们就可以看到新的贴子了。我没有使用JavaScript,而是采用了META标记进行刷新,主要是因为它可能更容易被客户端支持。我也不想让搜索引擎对我的消息文件进行索引。所以重新定义头信息为:

$header = "

".
"".
" ";
?>

  在文件的脚标处,我一般是放置一小段版权信息,还有与打开的头信息对应的结束标记。

$footer = "

".
"© Mike Hall 2000

";
?>

  将版权信息用包起来表示只有被选中它才会被看见,因为它的颜色与背景色#000000一样。这样做的目的只是为了不让它影响显示。

// 打开文件,并且将文件长度截为0
$open_file = fopen("messages.html", "w");
// 写入文件的头信息
fputs($open_file, $header);
// 新的一行
// (使用stripSlashes,因为我们不想让所有的转义字符出现在消息文件中)
fputs($open_file, stripslashes($new_message));
// 旧的行
fputs($open_file, $old_messages);
// 脚标
fputs($open_file, $footer);
// 关闭文件
fclose($open_file);
?>



声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境

VSCode Windows 64位 下载

VSCode Windows 64位 下载

微软推出的免费、功能强大的一款IDE编辑器

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版