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

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

基于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精品国产麻豆国产自产在线 | 91高清国产视频 | 高清中文字幕视频在线播 | 天天舔天天操天天干 | 久久精品国产免费 | 狠狠色综合久久婷婷 | 91在线品视觉盛宴免费 | 日本免费小视频 | 色老板在线观看永久免费视频 | 亚洲欧美一区二区三区 | 日日干夜夜爽 | 欧美激情一区二区三区四区 | 日韩综合色 | 97精品国产91久久久久久久 | 动漫精品专区一区二区三区不卡 | 国产成人精品一区二三区2022 | 九九热线有精品视频99 | 欧美精品三级在线 | 久久久久精彩视频 | 91精品国产91久久久久青草 | 国产a不卡 | 天天干在线观看 | 久久精品一区二区免费看 | 在线精品国产三级 | a毛片毛费观看 | 久久99精品久久久久久欧洲站 | 91秦先生视频在线观看 | 欧美激情艳三级 | 亚洲一区二区三区精品国产 | 亚洲成在人网站天堂一区二区 | 999热在线精品观看全部 | 日日夜夜网站 | 亚洲精品在线免费看 | japanese 色系 tube日本 | 一区二区在线视频 | 性做久久久久久久免费看 | 欧美视频区 | 国产永久在线观看 | 狠狠色影院 |