WebjxCom提示:
PHP是目前使用最广泛的基于Web的
编程语言
,驱动着数以百万计的网站
,其中也包括如Facebook等一些大型站点
。这里收集了21段实用便捷的
PHP代码摘录,对每种类型的PHP开发者都会有所帮助
。    8.解析XML数据  
  //xmlstring  
  $xml_string="<?xmlversion='1.0'?>  
  <users>  
  <userid='398'>  
  <name>Foo</name>  
  <email>foo@bar.com</name>  
  </user>  
  <userid='867'>  
  <name>Foobar</name>  
  <email>foobar@foo.com</name>  
  </user>  
  </users>";  
  //loadthexmlstringusingsimplexml  
  $xml=simplexml_load_string($xml_string);  
  //loopthroughtheeachnodeofuser  
  foreach($xml->useras$user)  
  {  
  //accessattribute  
  echo$user['id'],'';  
  //subnodesareaccessedby->operator  
  echo$user->name,'';  
  echo$user->email,'<br/>';  
  }  
  9.创建日志缩略名  
  创建用户友好的日志缩略名。  
  functioncreate_slug($string){  
  $slug=preg_replace('/[^A-Za-z0-9-]+/','-',$string);  
  return$slug;  
  }  
  10.获取客户端真实IP地址  
  该函数将获取用户的真实IP地址,即便他使用代理
服务器。  
  functiongetRealIpAddr()  
  {  
  if(!emptyempty($_SERVER['HTTP_CLIENT_IP']))  
  {  
  $ip=$_SERVER['HTTP_CLIENT_IP'];  
  }  
  elseif(!emptyempty($_SERVER['HTTP_X_FORWARDED_FOR']))  
  //tocheckipispassfromproxy  
  {  
  $ip=$_SERVER['HTTP_X_FORWARDED_FOR'];  
  }  
  else  
  {  
  $ip=$_SERVER['REMOTE_ADDR'];  
  }  
  return$ip;  
  }  
  11.强制性文件下载  
  为用户提供强制性的文件下载功能。  
  /********************  
  *@file-pathtofile  
  */  
  functionforce_download($file)  
  {  
  if((isset($file))&&(file_exists($file))){  
  header("Content-length:".filesize($file));  
  header('Content-Type:application/octet-stream');  
  header('Content-Disposition:attachment;filename="'.$file.'"');  
  readfile("$file");  
  }else{  
  echo"Nofileselected";  
  }  
  }  
  12.创建标签云  
  functiongetCloud($data=array(),$minFontSize=12,$maxFontSize=30)  
  {  
  $minimumCount=min(array_values($data));  
  $maximumCount=max(array_values($data));  
  $spread=$maximumCount-$minimumCount;  
  $cloudHTML='';  
  $cloudTags=array();  
  $spread==0&&$spread=1;  
  foreach($dataas$tag=>$count)  
  {  
  $size=$minFontSize+($count-$minimumCount)  
  *($maxFontSize-$minFontSize)/$spread;  
  $cloudTags[]='<astyle="font-size:'.floor($size).'px'  
  .'"href="#"title="''.$tag.  
  ''returnedacountof'.$count.'">'  
  .htmlspecialchars(stripslashes($tag)).'</a>';  
  }  
  returnjoin("
",$cloudTags)."
";  
  }  
  /**************************  
  ****Sampleusage***/  
  $arr=Array('Actionscript'=>35,'Adobe'=>22,'Array'=>44,'Background'=>43,  
  'Blur'=>18,'Canvas'=>33,'Class'=>15,'ColorPalette'=>11,'Crop'=>42,  
  'Delimiter'=>13,'Depth'=>34,'Design'=>8,'Encode'=>12,'Encryption'=>30,  
  'Extract'=>28,'Filters'=>42);  
  echogetCloud($arr,12,36);  
  13.寻找两个字符串的相似性  
  PHP提供了一个极少使用的similar_text函数,但此函数非常有用,用于比较两个字符串并返回相似程度的百分比。  
  similar_text($string1,$string2,$percent);  
  //$percentwillhavethepercentageofsimilarity  
  14.在应用程序中使用Gravatar通用头像  
  随着WordPress越来越普及,Gravatar也随之流行。由于Gravatar提供了易于使用的API,将其纳入应用程序也变得十分方便。  
  /******************  
  *@email-Emailaddresstoshowgravatarfor  
  *@size-sizeofgravatar  
  *@default-URLofdefaultgravatartouse  
  *@rating-ratingofGravatar(G,PG,R,X)  
  */  
  functionshow_gravatar($email,$size,$default,$rating)  
  {  
  echo'<imgsrc="http://www.gravatar.com/avatar.php?gravatar_id='.md5($email).  
  '&default='.$default.'&size='.$size.'&rating='.$rating.'"width="'.$size.'px"  
  height="'.$size.'px"/>';  
  }