让珊瑚远离惊涛骇浪的侵蚀吗?那无异是将它们的美丽葬送。以下是小编为大家搜索整理的实用的PHP实例代码20个,希望能给大家带来帮助!更多精彩内容请及时关注我们应届毕业生考试网!可阅读随机字符串此代码将创建一个可阅读的字符串,使其更接近词典中的单词,实用且具有密码验证功能。/***************@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;}生成一个随机字符串如果不需要可阅读的`字符串,使用此函数替代,即可创建一个随机字符串,作为用户的随机密码等。/**************@l-lengthofrandomstring*/functiongenerate_rand($l){$c="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";srand((double)microtime()*1000000);for($i=0;$i<$l;$i++){$rand.=$c[rand()%strlen($c)];}return$rand;}编码电子邮件地址使用此代码,可以将任何电子邮件地址编码为html字符实体,以防止被垃圾邮件程序收集。functionencode_email($’,$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=’<ahref="ma’;$part2=’ilto:’;$part3=’"’.$attrs.’>’;$part4=’</a>’;$encoded=’<scripttype="text/javascript">’;$encoded.="e(’$part1’);";$encoded.="e(’$part2’);";foreach($emailas$e){$encoded.="e(’$e’);";}$encoded.="e(’$part3’);";foreach($linkTextas$l){$encoded.="e(’$l’);";}$encoded.="e(’$part4’);";$encoded.=’</script>’;return$encoded;}验证邮件地址电子邮件验证也许是中最常用的网页表单验证,此代码除了验证电子邮件地址,也可以选择检查邮件域所属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);}elsereturntrue;elsereturnfalse;}列出目录内容functionlist_files($dir){if(is_dir($dir)){if($handle=opendir($dir)){while(($file=readdir($handle))!==false){if($file!="."&&$file!=".."&&$file!=""){echo’<atarget="_blank"href="’.$dir.$file.’">’.$file.’</a><br>’."n";}}closedir($handle);}}}销毁目录删除一个目录,包括它的内容。/******@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;}}解析JSON数据与大多数流行的Web服务如twitter通过开放API来提供数据一样,它总是能够知道如何解析API数据的各种传送格式,包括JSON,XML等等。$json_string=’{"id":1,"name":","interest":["wordpress","php"]}’;$obj=json_decode($json_string);echo$obj->name;//printsfooecho$obj->interest[1];//printsphp解析XML数据//xmlstring$xml_string="<?xmlversion=’1.0’?><users><userid=’398’><name>Foo</name></name></user><userid=’867’><name>Foobar</name></name></user></users>";//loadthexmlstringusingsimplexml$xml=simplexml_load_string($xml_string);//loopthroughtheeachnodeofuserforeach($xml->useras$user){//accessattributeecho$user[’id’],’’;//subnodesareaccessedby->operatorecho$user->name,’’;echo$user->email,’<br/>’;}创建日志缩略名创建用户友好的日志缩略名。functioncreate_slug($string){$slug=preg_replace(’/[^A-Za-z0-9-]+/’,’-’,$string);return$slug;}获取客户端真实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;}强制性文件下载为用户提供强制性的文件下载功能。/*********************@file-pathtofile*/functionforce_download($file){if((isset($file))&&(file_exists($file))){header("Content-length:"size($file));header(’Content-Type:application/octet-stream’);header(’Content-Disposition:attachment;filename="’.$file.’"’);readfile("$file");}else{echo"Nofileselected";}}创建标签云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:’r($size).’px’.’"href="#"title="’’.$tag.’’returnedacountof’.$count.’">’specialchars(stripslashes($tag)).’</a>’;}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);寻找两个字符串的相似性PHP提供了一个极少使用的similar_text函数,但此函数非常有用,用于比较两个字符串并返回相似程度的百分比。similar_text($string1,$string2,$percent);//$percentwillhavethepercentageofsimilarity在应用程序中使用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="_id=’5($email).’&default=’.$default.’&size=’.$size.’&rating=’.$rating.’"width="’.$size.’px"height="’.$size.’px"/>’;}在字符断点处截断文字所谓断字(wordbreak),即一个单词可在转行时断开的地方。这一函数将在断字处截断字符串。//OriginalPHPcodebyChirpInternet://Pleaseacknowledgeuseofthiscodebyincludingthisheader.functionmyTruncate($string,$limit,$break=".",$pad="..."){//returnwithnochangeifstringisshorterthan$limitif(strlen($string)<=$limit)return$string;//is$breakpresentbetween$limitandtheendofthestring?if(false!==($breakpoint=strpos($string,$break,$limit))){if($breakpoint<strlen($string)-1){$string=substr($string,0,$breakpoint).$pad;}}return$string;}/*****Example****/$short_string=myTruncate($long_string,100,’’);文件Zip压缩/*createsacompressedzipfile*/functioncreate_zip($files=array(),$destination=’’,$overwrite=false){//ifthezipfilealreadyexistsandoverwriteisfalse,returnfalseif(file_exists($destination)&&!$overwrite){returnfalse;}//vars$valid_files=array();//iffileswerepassedin...if(is_array($files)){//cyclethrougheachfileforeach($filesas$file){//makesurethefileexistsif(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;}//addthefilesforeach($valid_filesas$file){$zip->addFile($file,$file);}//debug//echo’Theziparchivecontains’,$zip->numFiles,’fileswithastatusof’,$zip->status;//closethezip--done!$zip->close();//checktomakesurethefileexistsreturnfile_exists($destination);}else{returnfalse;}}/*****ExampleUsage***/$files=array(’file1.jpg’,’file2.jpg’,’file3.gif’);create_zip($files,’’,true);解压缩Zip文件/***********************@file-pathtozipfile*@destination-destinationdirectoryforunzippedfiles*/functionunzip_file($file,$destination){//createobject$zip=newZipArchive();//openarchiveif($zip->open($file)!==TRUE){die(’Couldnotopenarchive’);}//extractcontentstodestinationdirectory$zip->extractTo($destination);//closearchive$zip->close();echo’Archiveextractedtodirectory’;}为URL地址预设http字符串有时需要接受一些表单中的网址输入,但用户很少添加http://字段,此代码将为网址添加该字段。if(!preg_match("/^(http|ftp):/",$_POST[’url’])){$_POST[’url’]=’http://’.$_POST[’url’];}将网址字符串转换成超级链接该函数将URL和E-mail地址字符串转换为可点击的超级链接。functionmakeClickableLinks($text){$text=eregi_replace(’(((f|ht){1}tp://)[-a-zA-Z0-9@:%_+.~#?&//=]+)’,’<ahref="1">1</a>’,$text);$text=eregi_replace(’([[:space:]()[{}])(www.[-a-zA-Z0-9@:%_+.~#?&//=]+)’,’1<ahref="http://2">2</a>’,$text);$text=eregi_replace(’([_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,3})’,’<ahref="mailto:1">1</a>’,$text);return$text;}调整图像尺寸创建图像缩略图需要许多时间,此代码将有助于了解缩略图的逻辑。/***********************@filename-pathtotheimage*@tmpname-temporarypathtothumbnail*@xmax-maxwidth*@ymax-maxheight*/functionresize_image($filename,$tmpname,$xmax,$ymax){$ext=explode(".",$filename);$ext=$ext[count($ext)-1];if($ext=="jpg"||$ext=="jpeg")$im=imagecreatefromjpeg($tmpname);elseif($ext=="png")$im=imagecreatefrompng($tmpname);elseif($ext=="gif")$im=imagecreatefromgif($tmpname);$x=imagesx($im);$y=imagesy($im);if($x<=$xmax&&$y<=$ymax)return$im;if($x>=$y){$newx=$xmax;$newy=$newx*$y/$x;}else{$newy=$ymax;$newx=$x/$y*$newy;}$im2=imagecreatetruecolor($newx,$newy);imagecopyresized($im2,$im,0,0,0,0,floor($newx),floor($newy),$x,$y);return$im2;}检测ajax请求大多数的JavaScript框架如jquery,Mootools等,在发出Ajax请求时,都会发送额外的HTTP_X_REQUESTED_WITH头部信息,头当他们一个ajax请求,因此你可以在服务器端侦测到Ajax请求。if(!emptyempty($_SERVER[’HTTP_X_REQUESTED_WITH’])&&strtolower($_SERVER[’HTTP_X_REQUESTED_WITH’])==’xmlhttprequest’){//IfAJAXRequestThen}else{//somethingelse}