zoukankan      html  css  js  c++  java
  • 我使用tricks(推)技術寫得聊天室程式

    我使用tricks(推)技術寫得聊天室程式,頁面不需要刷新,另外也不會像ajax似的不斷請求server端.

    set_time_limit(9990);
    header('cache-control: private');
    header('Content-Type: text/html; charset=utf-8');
    $file="chat.txt";

    $action=trim($_GET['action']);
    Switch ($action){
    Case "say":
        _say();
        Break;
    Case "chat":
        _chat();
        Break;
    Default:
        _main();
        Break;
    }
    //------------------------------------------------*
    Function _main(){
        Echo '<iframe src="?action=chat" height="300" width="100%"></iframe>';
        Echo '<form method="post" id="f1" target="say" action="?action=say"><input type="text" name="wd"><input type="submit" value="say"></form>';
        Echo '<iframe name="say" style="display:none"></iframe>';
    }
    //------------------------------------------------*
    Function _say(){
        Global $file;
        $wd = trim($_POST['wd']);
        IF(File_Exists($file)){
            $htm=File_Get_Contents($file).$wd.Chr(10);
        }Else{
            $htm=$wd.Chr(10);
        }

        File_Put_Contents($file,$htm,LOCK_EX);
        clearstatcache();
    }
    //------------------------------------------------*
    Function _chat(){
        Global $file;
        IF(!File_Exists($file)){
            File_Put_Contents($file,'',LOCK_EX);
        }

        //这一行是为了IE的bug
        Echo str_repeat(' ', 256);
        ob_flush();
        flush();

        $total = Count(File($file));
        $i = $total - 1;

    //如果要轉載本文請注明出處,免的出現版權紛爭,我不喜歡看到那種轉載了我的作品卻不注明出處的人 Seven{See7di#Gmail.com}
        While(true){
            $N=Count(File($file));
            IF($N!=$total){
                $total = $N;
                $HTM=File($file);
                Echo '<div>',Htmlspecialchars(End($HTM)),'</div>';
                ob_flush();
                flush();
            }Else{
                usleep(1500);
            }
        }
    }

  • 相关阅读:
    CSS
    iframe自适应宽度和高度
    用css实现文字超出指定宽度显示省略号(...)
    删除数据时的提示效果(遮罩)
    网页选项卡的应用
    列表应用(导航菜单)
    下拉列表框中的事件应用(联动展示数据)
    jQuery移除事件
    toggle()方法
    jQuery切换事件
  • 原文地址:https://www.cnblogs.com/see7di/p/2239794.html
Copyright © 2011-2022 走看看