6个超实用的PHP代码片段
一、黑名单过滤
functionis_spam($text,$file,$split=':',$regex=false){ $handle=fopen($file,'rb'); $contents=fread($handle,filesize($file)); fclose($handle); $lines=explode("n",$contents); $arr=array(); foreach($linesas$line){ list($word,$count)=explode($split,$line); if($regex) $arr[$word]=$count; else $arr[preg_quote($word)]=$count; } preg_match_all("~".implode('|',array_keys($arr))."~",$text,$matches); $temp=array(); foreach($matches[0]as$match){ if(!in_array($match,$temp)){ $temp[$match]=$temp[$match]+1; if($temp[$match]>=$arr[$word]) returntrue; } } returnfalse; } $file='spam.txt'; $str='Thisstringhascat,dogword'; if(is_spam($str,$file)) echo'thisisspam'; else echo'thisisnotspam'; ab:3 dog:3 cat:2 monkey:2
二、随机颜色生成器
functionrandomColor(){ $str='#'; for($i=0;$i<6;$i++){ $randNum=rand(0,15); switch($randNum){ case10:$randNum='A';break; case11:$randNum='B';break; case12:$randNum='C';break; case13:$randNum='D';break; case14:$randNum='E';break; case15:$randNum='F';break; } $str.=$randNum; } return$str; } $color=randomColor();
三、从网上下载文件
set_time_limit(0); //Supportsallfiletypes //URLHere: $url='http://somsite.com/some_video.flv'; $pi=pathinfo($url); $ext=$pi['extension']; $name=$pi['filename']; //createanewcURLresource $ch=curl_init(); //setURLandotherappropriateoptions curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_HEADER,false); curl_setopt($ch,CURLOPT_BINARYTRANSFER,true); curl_setopt($ch,CURLOPT_AUTOREFERER,true); curl_setopt($ch,CURLOPT_FOLLOWLOCATION,true); curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); //grabURLandpassittothebrowser $opt=curl_exec($ch); //closecURLresource,andfreeupsystemresources curl_close($ch); $saveFile=$name.'.'.$ext; if(preg_match("/[^0-9a-z._-]/i",$saveFile)) $saveFile=md5(microtime(true)).'.'.$ext; $handle=fopen($saveFile,'wb'); fwrite($handle,$opt); fclose($handle);
四、强制下载文件
$filename=$_GET['file'];//GetthefileidfromtheURL //QuerythefileID $query=sprintf("SELECT*FROMtableNameWHEREid='%s'",mysql_real_escape_string($filename)); $sql=mysql_query($query); if(mysql_num_rows($sql)>0){ $row=mysql_fetch_array($sql); //Setsomeheaders header("Pragma:public"); header("Expires:0"); header("Cache-Control:must-revalidate,post-check=0,pre-check=0"); header("Content-Type:application/force-download"); header("Content-Type:application/octet-stream"); header("Content-Type:application/download"); header("Content-Disposition:attachment;filename=".basename($row['FileName']).";"); header("Content-Transfer-Encoding:binary"); header("Content-Length:".filesize($row['FileName'])); @readfile($row['FileName']); exit(0); }else{ header("Location:/"); exit; }
五、截取图片
$filename="test.jpg"; list($w,$h,$type,$attr)=getimagesize($filename); $src_im=imagecreatefromjpeg($filename); $src_x='0';//beginx $src_y='0';//beginy $src_w='100';//width $src_h='100';//height $dst_x='0';//destinationx $dst_y='0';//destinationy $dst_im=imagecreatetruecolor($src_w,$src_h); $white=imagecolorallocate($dst_im,255,255,255); imagefill($dst_im,0,0,$white); imagecopy($dst_im,$src_im,$dst_x,$dst_y,$src_x,$src_y,$src_w,$src_h); header("Content-type:image/png"); imagepng($dst_im); imagedestroy($dst_im);
六、检查网站是否宕机
functionVisit($url){ $agent="Mozilla/4.0(compatible;MSIE5.01;WindowsNT5.0)";$ch=curl_init(); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_USERAGENT,$agent); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch,CURLOPT_VERBOSE,false); curl_setopt($ch,CURLOPT_TIMEOUT,5); curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE); curl_setopt($ch,CURLOPT_SSLVERSION,3); curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,FALSE); $page=curl_exec($ch); //echocurl_error($ch); $httpcode=curl_getinfo($ch,CURLINFO_HTTP_CODE); curl_close($ch); if($httpcode>=200&&$httpcode<300)returntrue; elsereturnfalse; } if(Visit("http://www.google.com")) echo"WebsiteOK"."n"; else echo"WebsiteDOWN";
以上就是6个超实用的PHP代码样例,希望对大家学习PHP编程有所帮助,果断收藏吧