好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

ajax php 聊天室实例代码(2) - 综合实例

ajax php 聊天室实例代码(2) function  get_ip()  {    global   $_server ;    if  ( $_server )   {     if  (  $_server [http_x_forwarded_for] )      $realip  =  $_server [ "http_x_forwarded_for" ];     else   if  (  $_server [ "http_client_ip" ] )      $realip  =  $_server [ "http_client_ip" ];     else       $realip  =  $_server [ "remote_addr" ];   }    else    {     if  (  getenv (  'http_x_forwarded_for'  ) )      $realip  =  getenv (  'http_x_forwarded_for'  );     else   if  (  getenv (  'http_client_ip'  ) )       $realip  =  getenv (  'http_client_ip'  );     else       $realip  =  getenv (  'remote_addr'  );   }    return   $realip ;  }  function  array2json( $arr )  {    $keys  =  array_keys ( $arr );    $isarr  = true;    $json  =  "" ;    for ( $i =0; $i < count ( $keys ); $i ++)   {     if  ( $keys [ $i ] !==  $i )    {      $isarr  = false;      break ;    }   }    $json  =  $space ;    $json .= ( $isarr )? "[" : "{" ;    for ( $i =0; $i < count ( $keys ); $i ++)   {     if  ( $i !=0)  $json .=  "," ;     $item  =  $arr [ $keys [ $i ]];     $json .=( $isarr )? "" : $keys [ $i ]. ':' ;     if  ( is_array ( $item ))      $json .=array2json( $item );     else   if  ( is_string ( $item ))      $json .= '"' . str_replace ( array ("r "," n ")," ",$item).'" ';     else   $json .= $item ;   }    $json .= ( $isarr )? "]" : "}" ;    return   $json ;  }  function  keeponline()  {    global   $disonline , $datafile ;    if  (! $disonline )  return ;    $name  =  $_post [ 'name' ];    $ip  = get_ip();    $onlines  = @ file_get_contents ( $datafile );    $s1  =  "|{$name}|{$ip}|" ;    if  ( strpos ( $onlines , $s1 ) === false)   {     if  ( strpos ( $onlines , "|" . $name . "|" ) === false)    {      $fp  = @ fopen ( $datafile , "a+" );      if  ( $fp )     {       if  (@ flock ( $fp , lock_ex))      {       @ fputs ( $fp ,time(). "|" .time(). $s1 . "n" );       @ flock ( $fp , lock_un);      }      @fclose( $fp );     }    }     else     {      echo   "name" ;      die ();    }   }  }  if  ( $action  ==  "write" )  {    $color  =  $_post [ "color" ];    if  (! eregi ( "[0-9a-fa-f]{6}" , $color ) ||  $color  ==  "#000000" )  $color  =  "" ;    $color  =  "#" . $color ;    $size  =  intval ( $_post [ "size" ]);    $name  = htmlspecialchars( str_replace ( array ( "n" , "r" ), "" , $_post [ 'name' ]));    if  (! $name )  die ( "no name!!" );    $ip  = get_ip();   keeponline();       $s  =  "" ;    $style  =  "" ;    $font  =  $_post [ "font" ];    if  ( $font  ==  "songti" )  $font  =  "宋体" ;    else   if  ( $font  ==  "heiti" )  $font  =  "黑体" ;    else   if  ( $font  ==  "kaiti" )  $font  =  "楷体_gb2312" ;    else   $font  =  "" ;    $style  .= (! $font )? "" : "font-family:" . $font . ";" ;    $style  .= (! $_post [ "bold" ])? "" : "font-weight:bold;" ;    $style  .= (! $color  ||  $color  ==  "#" )? "" : "color:{$color};" ;    $style  .= (! $size  ||  $size  ==  "16" )? "" : "font-size:{$size}px;" ;    $t  = time();    $arr  =  explode ( "n" , $_post [ 'content' ]);    if  ( count ( $arr ) > 20)  die ( 'error' );    for ( $i  = 0; $i < count ( $arr ); $i ++)   {     $content  =  $arr [ $i ];     $content  = trim( $content );     $content  =  str_replace ( array ( "n" , "r" ), "" , $content );     if  (! $content )  continue ;     $content  = htmlspecialchars( $content );     $content  = preg_replace( "~[img](http://[a-za-z0-9.-_+%?]*)[/img]~i" ,  "<img src='$1' />" ,  $content );     $content  = ( $style )? "<span style='{$style}'>{$content}</span>" : $content ;     $s .=  $t . "|" . $name . ":" . $content . "n" ;   } 

查看更多关于ajax php 聊天室实例代码(2) - 综合实例的详细内容...

  阅读:49次