当前位置: 首页 > 科技观察

10个必须收藏的PHP代码示例

时间:2023-03-14 12:13:53 科技观察

一、黑名单过滤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';elseecho'thisisnotspam';ab:3dog:3cat:2monkey: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);//支持所有文件类型//URLHere:$url='http://somsite.com/some_video.flv';$pi=pathinfo($url);$ext=$pi['extension'];$name=$pi['filename'];//createanewcURLresource$ch=curl_init();//setURLandotherappropriateoptionscurl_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);//closeURLresource,andfreeupsystemresourcescurl_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);四、Alexa/GooglePageRankfunctionpage_rank($page,$type='alexa'){switch($type){case'alexa':$url='http://alexa.com/siteinfo/';$handle=fopen($url.$page,'r');break;case'google':$url='http://google.com/search?client=navclient-auto&ch=6-1484155081&features=Rank&q=info:';$handle=fopen($url.'http://'.$page,'r');break;}$content=stream_get_contents($handle);fclose($handle);$content=preg_replace("~(n|t|ss+)~",'',$content);switch($type){case'alexa':if(preg_match('~(.+?)

~im',$content,$matches)){return$matches[2];}else{returnFALSE;}break;case'google':$rank=explode(':',$content);if($rank[2]!='')return$rank[2];elsereturnFALSE;break;default:returnFALSE;break;}}//AlexaPageRank:echo'AlexaRank:'.page_rank('techug.com');echo'';//GooglePageRankecho'GoogleRank:'.page_rank('techug.com','google');五、强制下载文件$filename=$_GET['file'];//从URL中获取文件id//查询文件ID$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);//Setsomeheadersheader("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/下载");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;}六、用电子邮件显示用户的Gravator头像$gravatar_link='http://www.gravatar.com/avatar/'.md5($comment_author_email).'?s=32';echo'';七、用cURL获取RSS订阅数$ch=curl_init();curl_setopt($ch,CURLOPT_URL,'https://feedburner.google.com/api/awareness/1.0/GetFeedData?id=7qkrmib4r9rscbplq5qgadiiq4');curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,2);$content=curl_exec($ch);$subscribers=get_match('/circulation="(.*)"/isU',$content);curl_close($ch);八、时间差计算functionago($time){$periods=array("second","minute","hour","day","week","month","year","decade");$lengths=array("60","60","24","7","4.35","12","10");$now=time();$difference=$now-$time;$tense="ago";for($j=0;$difference>=$lengths[$j]&&$j=200&&$httpcode<300)returntrue;elsereturnfalse;}if(访问("http://www.google.com"))echo"WebsiteOK"."n";elseecho"WebsiteDOWN";