php函数笔记

//utf-8中文截取,单字节截取模式
function cn_substr_utf8($str, $length, $start=0)
{
 if(strlen($str) < $start+1)
 {
  return '';
 }
 preg_match_all("/./su", $str, $ar);
 $str = '';
 $tstr = '';

 //为了兼容mysql4.1以下版本,与数据库varchar一致,这里使用按字节截取
 for($i=0; isset($ar[0][$i]); $i++)
 {
  if(strlen($tstr) < $start)
  {
   $tstr .= $ar[0][$i];
  }
  else
  {
   if(strlen($str) < $length + strlen($ar[0][$i]) )
   {
    $str .= $ar[0][$i];
   }
   else
   {
    break;
   }
  }
 }
 return $str;
}

 

 

//取得IP
function egetip(){
 if(getenv('HTTP_CLIENT_IP')&&strcasecmp(getenv('HTTP_CLIENT_IP'),'unknown'))
 {
  $ip=getenv('HTTP_CLIENT_IP');
 }
 elseif(getenv('HTTP_X_FORWARDED_FOR')&&strcasecmp(getenv('HTTP_X_FORWARDED_FOR'),'unknown'))
 {
  $ip=getenv('HTTP_X_FORWARDED_FOR');
 }
 elseif(getenv('REMOTE_ADDR')&&strcasecmp(getenv('REMOTE_ADDR'),'unknown'))
 {
  $ip=getenv('REMOTE_ADDR');
 }
 elseif(isset($_SERVER['REMOTE_ADDR'])&&$_SERVER['REMOTE_ADDR']&&strcasecmp($_SERVER['REMOTE_ADDR'],'unknown'))
 {
  $ip=$_SERVER['REMOTE_ADDR'];
 }
 return preg_replace("/^([\d\.]+).*/", "\\1",RepPostVar($ip));
}

你可能感兴趣的:(PHP)