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编程有所帮助,果断收藏吧