日本国产亚洲-日本国产一区-日本国产一区二区三区-日本韩国欧美一区-日本韩国欧美在线-日本韩国欧美在线观看

當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

基于PHP的聊天室(一)

基于PHP的聊天室(一)

更新時間:2019-05-18 文章作者:未知 信息來源:網絡 閱讀次數:


  從前有一個相當流行的web聊天室,叫做Star Trekker 聊天室。我能夠來到這個聊天室要感謝我的一個朋友,并且即使Star Trekker的聊友們幾乎與我不是同一個圈中的,但是我發現對于他們的大部分人來說,都很友好和有意思。但是當Star Trekker關閉之后,這不得不謝謝運行在后臺的Perl了,是它吞掉了服務器的資源,所以這些快樂和友善的人們不得不離開,無處可去了。我有幸在那段時間開張了自已的仿StarTrekker的聊天室,并且開始設法與許多原來的Trekker的那些無家可歸的聊友進行聯系。出于對Perl所引起的資源消耗問題的警惕,當一個朋友向我推薦PHP時,我非常的高興。

  這個經過精心設計的web聊天室使用了從表單傳遞過來的變量,并且把它們處理為HTML ,然后將其寫入文件。把表單和信息文件放在一個框架中,你可以看到它與一個叫BeSeen的聊天室很象。當然它的好處在于,
我們的聊天室比起它的BeSeen堂兄弟來說要聰明一些。

<form action="chat.php3" method="post">
Name : <input type="text" name="name"><br>
Message : <input type="text" name="message"><br>
<input type="submit" value="Send">
</form>

  上面就是基本的用于輸入的表單。你可能想把它弄得更美觀一些,但是不管出于什么目的,這個就是你要處理的。它發送兩個變量給chat.php3,分別叫做$name和$message。

  不過,在處理那些變量之前,我們需要從消息文件中把當前的內容取出來,否則在一個時間里我們只能看到一條消息了。幾乎沒有一個方法可以管理對話。只有象我一樣對自已的消息文件的結構很熟悉,我就知道每一條消息都以一個回車符結束。這就是說,可以使用file()函數來將消息文件讀到一個數組中去。

  消息文件有12行。在12行中,第1行為頭信息,第2行到11行為舊的消息,第12行包含了我的腳標。

  我最感興趣的是得到一個能夠包含所有那些舊消息的字符串。

<?php

// 把文件讀到一個數組中
$message_array = file("messages.html");

// 編輯字符串
for ($counter = 1; $counter < 10; $counter++) {
    $old_messages .= $message_array[$counter];
}

?>

  在處理字符串的時候,我將for循環的$counter初始化為1而不是0。這是因為我知道$message_array 數組的第0個元素包含的是我的頭信息,我不需要它循環結束條件為$counter < 10,意思是只有數組中1到9的元素被讀到字符串中。對于剩下的兩個元素,第11個包含我的腳標,第10個包含的是最舊的消息。這兩個我都想刪除,因為在任何時刻我只讓屏幕顯示10條消息。修改$counter < 10 表達式,可以允許你改變所包含消息的數量。

  現在已經有了舊的消息,接著我想生成新的消息。我們已經有了兩個變量:$name 和$message,所以寫出一個新的消息就很容易了。

<?php $new_message = "$name : $message<br> "; ?>


  我們就快要寫好消息文件了。剩下需要的就是頭信息和腳標。先加入簡單的頭部信息:

<?php

// 除了在字符串末尾有回車符,其它地方不能有回車符,這一點很重要。
// 要把所有的頭信息放在一樣。
$header = "<html><body bgcolor="#000000" text="#ffffff"> ";

?>

  我們想讓消息屏幕能夠自動刷新,那么人們就可以看到新的貼子了。我沒有使用JavaScript,而是采用了META標記進行刷新,主要是因為它可能更容易被客戶端支持。我也不想讓搜索引擎對我的消息文件進行索引。所以重新定義頭信息為:

<?php

$header = "<html><head><meta http-equiv="refresh" content="8">".
    "<meta name="robots" content="noindex"></head>".
    "<body bgcolor="#000000" text="#ffffff"> ";

?>

  在文件的腳標處,我一般是放置一小段版權信息,還有與打開的頭信息對應的結束標記。

<?php

$footer = "<p align="center"><font color="#000000">".
    "&copy; Mike Hall 2000</font></p></body></html>";

?>

  將版權信息用<font color="#000000">包起來表示只有被選中它才會被看見,因為它的顏色與背景色#000000一樣。這樣做的目的只是為了不讓它影響顯示。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

主站蜘蛛池模板: 午夜在线影院 | 国产日本欧美高清免费区 | 台湾一级毛片永久免费 | 91无限数破解版入口 | 黄a免费 | 久久精品最新免费国产成人 | 波多结衣一区二区三区 | 日韩在线观看不卡 | 婷婷色人阁 | 娇妻终于接受了3p的调教 | 久久99国产综合色 | 色综合色综合色综合色综合网 | 91亚洲成人 | 香蕉久久夜色精品国产 | 国产亚洲欧美ai在线看片 | 日本一区二区三区高清在线观看 | 欧美另类videosgrstv变态 欧美另类videossexo人妖 欧美另类videossexo性 | 噜噜色图 | 毛片国产 | 中文字幕无线码一区二区三区 | 天天做天天爱天天操 | 日本视频播放免费线上观看 | 日韩国产成人资源精品视频 | 久久精品中文字幕一区 | 亚洲色大成网站www久久九九 | 婷婷久月 | 欧美成人三级一区二区在线观看 | 波多野结衣在线视频观看 | 91伊人| 无码日韩精品一区二区免费 | 欧美一级在线播放 | 久久亚洲高清观看 | 精品国产福利久久久 | 婷婷丁香花麻豆 | 国产激情久久久久影 | 亚洲精品动漫3d一区二区 | 卡一卡二卡三专区免费孩子 | 尤物tv| 日韩欧美国产综合 | 国产精品美女一区二区 | 福利盒子在线视频免费 |