二十一个实用便利的PHP代码摘录.docx
- 文档编号:24160547
- 上传时间:2023-05-24
- 格式:DOCX
- 页数:12
- 大小:20.40KB
二十一个实用便利的PHP代码摘录.docx
《二十一个实用便利的PHP代码摘录.docx》由会员分享,可在线阅读,更多相关《二十一个实用便利的PHP代码摘录.docx(12页珍藏版)》请在冰豆网上搜索。
二十一个实用便利的PHP代码摘录
1.PHP可阅读随机字符串
此代码将创建一个可阅读的字符串,使其更接近词典中的单词,实用且具有密码验证功能。
/**************
*@length-lengthofrandomstring(mustbeamultipleof2)
**************/
functionreadable_random_string($length=6){
$conso=array("b","c","d","f","g","h","j","k","l",
"m","n","p","r","s","t","v","w","x","y","z");
$vocal=array("a","e","i","o","u");
$password="";
srand((double)microtime()*1000000);
$max=$length/2;
for($i=1;$i<=$max;$i++)
{
$password.=$conso[rand(0,19)];
$password.=$vocal[rand(0,4)];
}
return$password;
}
2.PHP生成一个随机字符串
如果不需要可阅读的字符串,使用此函数替代,即可创建一个随机字符串,作为用户的随机密码等。
/*************
*@l-lengthofrandomstring
*/
functiongenerate_rand($l){
$c="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
srand((double)microtime()*1000000);
for($i=0;$i<$l;$i++){
$rand.=$c[rand()%strlen($c)];
}
return$rand;
}
3.PHP编码电子邮件地址
使用此代码,可以将任何电子邮件地址编码为html字符实体,以防止被垃圾邮件程序收集。
functionencode_email($email='info@',$linkText='ContactUs',$attrs='class="emailencoder"')
{
//remplazararobaypuntos
$email=str_replace('@','@',$email);
$email=str_replace('.','.',$email);
$email=str_split($email,5);
$linkText=str_replace('@','@',$linkText);
$linkText=str_replace('.','.',$linkText);
$linkText=str_split($linkText,5);
$part1=' $part2='ilto:'; $part3='"'.$attrs.'>'; $part4=''; $encoded=' $encoded.="document.write('$part1');"; $encoded.="document.write('$part2');"; foreach($emailas$e) { $encoded.="document.write('$e');"; } $encoded.="document.write('$part3');"; foreach($linkTextas$l) { $encoded.="document.write('$l');"; } $encoded.="document.write('$part4');"; $encoded.=''; return$encoded; } 4.PHP验证邮件地址 电子邮件验证也许是中最常用的网页表单验证,此代码除了验证电子邮件地址,也可以选择检查邮件域所属DNS中的MX记录,使邮件验证功能更加强大。 functionis_valid_email($email,$test_mx=false) { if(eregi("^([_a-z0-9-]+)(\.[_a-z0-9-]+)*@([a-z0-9-]+)(\.[a-z0-9-]+)*(\.[a-z]{2,4})$",$email)) if($test_mx) { list($username,$domain)=split("@",$email); returngetmxrr($domain,$mxrecords); } else returntrue; else returnfalse; } 5.PHP列出目录内容 functionlist_files($dir) { if(is_dir($dir)) { if($handle=opendir($dir)) { while(($file=readdir($handle))! ==false) { if($file! ="."&&$file! =".."&&$file! ="Thumbs.db") { echo' } } closedir($handle); } } } 6.PHP销毁目录 删除一个目录,包括它的内容。 /***** *@dir-Directorytodestroy *@virtual[optional]-whetheravirtualdirectory */ functiondestroyDir($dir,$virtual=false) { $ds=DIRECTORY_SEPARATOR; $dir=$virtual? realpath($dir): $dir; $dir=substr($dir,-1)==$ds? substr($dir,0,-1): $dir; if(is_dir($dir)&&$handle=opendir($dir)) { while($file=readdir($handle)) { if($file=='.'||$file=='..') { continue; } elseif(is_dir($dir.$ds.$file)) { destroyDir($dir.$ds.$file); } else { unlink($dir.$ds.$file); } } closedir($handle); rmdir($dir); returntrue; } else { returnfalse; } } 7.PHP解析JSON数据 与大多数流行的Web服务如twitter通过开放API来提供数据一样,它总是能够知道如何解析API数据的各种传送格式,包括JSON,XML等等。 $json_string='{"id": 1,"name": "foo","email": "foo@","interest": ["wordpress","php"]}'; $obj=$json_string); echo$obj->name;//printsfoo echo$obj->interest[1];//printsphp 8.PHP解析XML数据 //xmlstring $xml_string=" xmlversion='1.0'? > "; //loadthexmlstringusingsimplexml $xml=simplexml_load_string($xml_string); //loopthroughtheeachnodeofuser foreach($xml->useras$user) { //accessattribute echo$user['id'],''; //subnodesareaccessedby->operator echo$user->name,''; echo$user->email,' } 9.PHP创建日志缩略名 创建用户友好的日志缩略名。 functioncreate_slug($string){ $slug=preg_replace('/[^A-Za-z0-9-]+/','-',$string); return$slug; } 10.PHP获取客户端真实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.PHP强制性文件下载 为用户提供强制性的文件下载功能。 /******************** *@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.PHP创建标签云 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[]=' '.floor($size).'px' .'"href="#"title="\''.$tag. '\'returnedacountof'.$count.'">' .htmlspecialchars(stripslashes($tag)).''; } returnjoin("\n",$cloudTags)."\n"; } /************************** ****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寻找两个字符串的相似性 PHP提供了一个极少使用的similar_text函数,但此函数非常有用,用于比较两个字符串并返回相似程度的百分比。 similar_text($string1,$string2,$percent); //$percentwillhavethepercentageofsimilarity 14.PHP在应用程序中使用Gravatar通用头像 随着WordPress越来越普及,Gravatar也随之流行。 由于Gravatar提供了易于使用的API,将其纳入应用程序也变得十分方便。 /****************** *@email-Emailaddresstoshowgravatarfor *@size-sizeofgravatar *@default-URLofdefaultgravatartouse *@rating-ratingofGravatar(G,PG,R,X) */ functionshow_gravatar($email,$size,$default,$rating) { echo' '&default='.$default.'&size='.$size.'&rating='.$rating.'"width="'.$size.'px" height="'.$size.'px"/>'; } 15.PHP在字符断点处截断文字 所谓断字(wordbreak),即一个单词可在转行时断开的地方。 这一函数将在断字处截断字符串。 //OriginalPHPcodebyChirpInternet: .au //Pleaseacknowledgeuseofthiscodebyincludingthisheader. functionmyTruncate($string,$limit,$break=".",$pad="..."){ //returnwithnochangeifstringisshorterthan$limit if(strlen($string)<=$limit) return$string; //is$breakpresentbetween$limitandtheendofthestring? if(false! ==($breakpoint=strpos($string,$break,$limit))){ if($breakpoint $string=substr($string,0,$breakpoint).$pad; } } return$string; } /*****Example****/ $short_string=myTruncate($long_string,100,''); 16.PHP文件Zip压缩 /*createsacompressedzipfile*/ functioncreate_zip($files=array(),$destination='',$overwrite=false){ //ifthezipfilealreadyexistsandoverwriteisfalse,returnfalse if(file_exists($destination)&&! $overwrite){returnfalse;} //vars $valid_files=array(); //iffileswerepassedin... if(is_array($files)){ //cyclethrougheachfile foreach($filesas$file){ //makesurethefileexists if(file_exists($file)){ $valid_files[]=$file; } } } //ifwehavegoodfiles... if(count($valid_files)){ //createthearchive $zip=newZipArchive(); if($zip->open($destination,$overwrite? ZIPARCHIVE: : OVERWRITE: ZIPARCHIVE: : CREATE)! ==true){ returnfalse; } //addthefiles foreach($valid_filesas$file){ $zip->addFile($file,$file); } //debug //echo'Theziparchivecontains',$zip->numFiles,'fileswithastatusof',$zip->status; //closethezip--done! $zip->close(); //checktomakesurethefileexists returnfile_exists($destination); } else { returnfalse; } } /*****ExampleUsage***/ $files=array('file1.jpg','file2.jpg','file3.gif'); create_zip($files,'myzipfile.zip',true); 17.PHP解压缩Zip文件 /********************** *@file-pathtozipfile *@destination-destinationdirectoryforunzippedfiles */ functionunzip_file($file,$destination){ //createobject $zip=newZipArchive(); //openarchive if($zip->open($file)! ==TRUE){ die(’Couldnotopenarchive’); } //extractcontentstodestinationdirectory $zip->extractTo($destination); //closearchive $zip->close(); echo'Archiveextractedtodirectory'; } 18.PHP为URL地址预设http字符串 有时需要接受一些表单中的网址输入,但用户很少添加http: //字段,此代码将为网址添加该字段。 if(! preg_match("/^(http|ftp): /",$_POST['url'])){ $_POST['url']='http: //'.$_POST['url']; } 19.PHP将网址字符串转换成超级链接 该函数将URL和E-mail地址字符串转换为可点击的超级链接。 functionmakeClickableLinks($text){ $text=eregi_replace('(((f|ht){1}tp: //)[-a-zA-Z0-9@: %_+.~#? &//=]+)', ' $text=eregi_replace('([[: space: ]()[{}])(www.[-a-zA-Z0-9@: %_+.~#? &//=]+)', '\1 //\2">\2',$text); $text=eregi_replace('([_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,3})', ' \1">\1',$text); return$text; } 20.PHP调整图像尺寸 创建图像缩略图需要许多时间,此代码将有助于了解缩略图的逻辑。 /********************** *@filename-pathtotheimage *@tmpname-temporarypathtothumbnail
'."\n";
';
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 十一 实用 便利 PHP 代码 摘录