ホームページ >バックエンド開発 >PHPチュートリアル >iPad のようなインターフェイスを備えたオンライン グループ チャット

iPad のようなインターフェイスを備えたオンライン グループ チャット

WBOY
WBOYオリジナル
2016-07-25 09:01:361405ブラウズ
Web オンライン グループ チャット (iPad インターフェイス) のソース コードはすべて ichat.zip 圧縮パッケージに含まれています
主に 3 つのファイルが含まれています:
index.php: フォームの値はニックネーム ファイルを取得し、その値を chat.php ファイル;
チャット .php :メインファイルは、index.php によって渡された値を取得した後、ニックネームを入力するかどうかを決定します。空の場合、それは訪問者です。このページには、このページに送信されるチャット内容入力テキスト ボックスが含まれています。処理のために、チャット レコードは自動的に作成されたチャット ファイルに保存されます。iframe を使用して view.php を呼び出し、チャット コンテンツを表示します。 見る
.php : chat.txt ファイルの内容を 1 行ずつ読み取り、逆順に出力し、20 秒ごとに自動的に更新します 改善すべき点: (初心者で勉強中です
) 1. アンチリフレッシュメカニズム 2. コンテンツを読むには、ajax
を使用します。 デモアドレス: http://qhbbs.tk/

iPad のようなインターフェイスを備えたオンライン グループ チャット
/*セッションを作成し、ニックネームを入力するかどうかを決定し、入力しない場合は訪問者になります*/
  • session_start();
  • if(isset($_SESSION['views'] ))
  • $_SESSION['views']=$_SESSION['views']+1;
  • else
  • $_SESSION['views']=1;
  • if($_SESSION['views']==1)$_SESSION ['ユーザー名']=$_POST ['ユーザー'];
  • if(!$_SESSION['ユーザー名'])$_SESSION['ユーザー名']="ゲスト";
  • if($_POST['ユーザー'])$ _SESSION['username']=$ _POST['user'];
  • $user=$_SESSION['username'];
  • $words=$_POST['words'];//チャット内容の割り当て
  • if(empty( $words))exit;
  • savechat( $words,$_SESSION['username']);//チャット内容を保存
  • /*以下はチャット内容を保存する関数です*/
  • function savechat($msg, $user)
  • {
  • $date=date('H:i :s',time());
  • $DOCUMENT_ROOT=$_SERVER['DOCUMENT_ROOT'];
  • if (!$fp=fopen("$DOCUMENT_ROOT/chat.txt" ,'a+')) {
  • die('チャット履歴ファイルの作成に失敗しました。権限があるか確認してください。');
  • }
  • $msg = htmlspecialchars($msg);
  • $msg = preg_replace('/([httpftp ://])*([a-zA-] )+.([a-zA-Z0-9_-])+.([a-zA-Z0-9_-])+(a-zA-Z0- 9_)*/', '\0', $msg);
  • $msg = preg_replace('/([a-zA-Z0-9_.]) +@([a-zA-Z0-9-] )+.([a-zA-Z0-9-]{2,4})+/', '\0< ;/a>', $msg);
  • $msg ='['.$date.']'."t".$user.":".$msg."n";
  • if (!fwrite($ fp, $msg)) {
  • die('チャットレコードの書き込みに失敗しました。');
  • }
  • fclose($fp);
  • }
  • ?>
  • コードをコピーします
  • $DOCUMENT_ROOT=$_SERVER['DOCUMENT_ROOT'];
  • $fp=fopen("$DOCUMENT_ROOT/chat.txt",'a+');
  • if(!$fp){
  • echo "

    chat.txt にチャット ログを書き込めませんでした。もう一度言ってみてください。

    ";
  • 終了
  • }
  • $handle=$fp;
  • $temp_arr=array();
  • do
  • {
  • $file=fgets($handle,1024);
  • $temp_arr[]=$file;
  • }
  • while(!feof($handle));
  • fclose($handle );
  • krsort($temp_arr);//逆順
  • foreach($temp_arr as $value){
  • echo "".$value. " "."
    ";
  • }
  • ?>
  • コードをコピー
  • 声明:
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。