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"/>';
}