又十个超级有用的PHP代码片段
好东西要大家一起分享,上次分享了十个,这次再来十个超级有用的PHP代码片段。
1.发送短信
调用TextMagicAPI。
//IncludetheTextMagicPHPlib require('textmagic-sms-api-php/TextMagicAPI.php'); //Settheusernameandpasswordinformation $username='myusername'; $password='mypassword'; //CreateanewinstanceofTM $router=newTextMagicAPI(array( 'username'=>$username, 'password'=>$password )); //Sendatextmessageto'999-123-4567' $result=$router->send('Wakeup!',array(9991234567),true); //result:Resultis:Array([messages]=>Array([19896128]=>9991234567)[sent_text]=>Wakeup![parts_count]=>1)
2.根据IP查找地址
functiondetect_city($ip){ $default='UNKNOWN'; if(!is_string($ip)||strlen($ip)<1||$ip=='127.0.0.1'||$ip=='localhost') $ip='8.8.8.8'; $curlopt_useragent='Mozilla/5.0(Windows;U;WindowsNT5.1;en-US;rv:1.9.2)Gecko/20100115Firefox/3.6(.NETCLR3.5.30729)'; $url='http://ipinfodb.com/ip_locator.php?ip='.urlencode($ip); $ch=curl_init(); $curl_opt=array( CURLOPT_FOLLOWLOCATION=>1, CURLOPT_HEADER=>0, CURLOPT_RETURNTRANSFER=>1, CURLOPT_USERAGENT=>$curlopt_useragent, CURLOPT_URL=>$url, CURLOPT_TIMEOUT=>1, CURLOPT_REFERER=>'http://'.$_SERVER['HTTP_HOST'], ); curl_setopt_array($ch,$curl_opt); $content=curl_exec($ch); if(!is_null($curl_info)){ $curl_info=curl_getinfo($ch); } curl_close($ch); if(preg_match('{<li>City:([^<]*)</li>}i',$content,$regs)){ $city=$regs[1]; } if(preg_match('{<li>State/Province:([^<]*)</li>}i',$content,$regs)){ $state=$regs[1]; } if($city!=''&&$state!=''){ $location=$city.','.$state; return$location; }else{ return$default; } }
3.显示网页的源代码
<?php//displaysourcecode
$lines=file('http://google.com/');
foreach($linesas$line_num=>$line){
//loopthrueachlineandprependlinenumbers
echo"Line#<b>{$line_num}</b>:".htmlspecialchars($line)."<br>\n";
}
4.检查服务器是否使用HTTPS
if($_SERVER['HTTPS']!="on"){ echo"ThisisnotHTTPS"; }else{ echo"ThisisHTTPS"; }
5.显示Facebook粉丝数量
functionfb_fan_count($facebook_name){ //Example:https://graph.facebook.com/digimantra $data=json_decode(file_get_contents("https://graph.facebook.com/".$facebook_name)); echo$data->likes; }
6.检测图片的主要颜色
$i=imagecreatefromjpeg("image.jpg"); for($x=0;$x<imagesx($i);$x++){ for($y=0;$y<imagesy($i);$y++){ $rgb=imagecolorat($i,$x,$y); $r=($rgb>>16)&0xFF; $g=($rgb>>&0xFF; $b=$rgb&0xFF; $rTotal+=$r; $gTotal+=$g; $bTotal+=$b; $total++; } } $rAverage=round($rTotal/$total); $gAverage=round($gTotal/$total); $bAverage=round($bTotal/$total);
7.获取内存使用信息
echo"Initial:".memory_get_usage()."bytes\n"; /*prints Initial:361400bytes */ //let'suseupsomememory for($i=0;$i<100000;$i++){ $array[]=md5($i); } //let'sremovehalfofthearray for($i=0;$i<100000;$i++){ unset($array[$i]); } echo"Final:".memory_get_usage()."bytes\n"; /*prints Final:885912bytes */ echo"Peak:".memory_get_peak_usage()."bytes\n"; /*prints Peak:13687072bytes */
8.使用gzcompress()压缩数据
$string= "Loremipsumdolorsitamet,consectetur adipiscingelit.Nuncutelitidmiultricies adipiscing.Nullafacilisi.Praesentpulvinar, sapienvelfeugiatvestibulum,nulladuipretiumorci, nonultricieselitlacusquisante.Loremipsumdolor sitamet,consecteturadipiscingelit.Aliquam pretiumullamcorperurnaquisiaculis.Etiamacmassa sedturpistemporluctus.Curabitursednibheuelit molliscongue.Praesentipsumdiam,consecteturvitae ornarea,aliquamanunc.Inidmagnapellentesque tellusposuereadipiscing.Sednonmimetus,atlacinia augue.Sedmagnanisi,ornareinmollisin,mollis sednunc.Etiamatjustoinleoconguemollis. Nullaminnequeegetmetushendreritscelerisque eunonenim.Utmalesuadalacuseunullabibendum ideuismodurnasodales."; $compressed=gzcompress($string); echo"Originalsize:".strlen($string)."\n"; /*prints Originalsize:800 */ echo"Compressedsize:".strlen($compressed)."\n"; /*prints Compressedsize:418 */ //gettingitback $original=gzuncompress($compressed);
9.使用PHP做Whois检查
functionwhois_query($domain){ //fixthedomainname: $domain=strtolower(trim($domain)); $domain=preg_replace('/^http:\/\//i','',$domain); $domain=preg_replace('/^www\./i','',$domain); $domain=explode('/',$domain); $domain=trim($domain[0]); //splittheTLDfromdomainname $_domain=explode('.',$domain); $lst=count($_domain)-1; $ext=$_domain[$lst]; //Youfindresourcesandlists //liketheseonwikipedia: // //http://de.wikipedia.org/wiki/Whois // $servers=array( "biz"=>"whois.neulevel.biz", "com"=>"whois.internic.net", "us"=>"whois.nic.us", "coop"=>"whois.nic.coop", "info"=>"whois.nic.info", "name"=>"whois.nic.name", "net"=>"whois.internic.net", "gov"=>"whois.nic.gov", "edu"=>"whois.internic.net", "mil"=>"rs.internic.net", "int"=>"whois.iana.org", "ac"=>"whois.nic.ac", "ae"=>"whois.uaenic.ae", "at"=>"whois.ripe.net", "au"=>"whois.aunic.net", "be"=>"whois.dns.be", "bg"=>"whois.ripe.net", "br"=>"whois.registro.br", "bz"=>"whois.belizenic.bz", "ca"=>"whois.cira.ca", "cc"=>"whois.nic.cc", "ch"=>"whois.nic.ch", "cl"=>"whois.nic.cl", "cn"=>"whois.cnnic.net.cn", "cz"=>"whois.nic.cz", "de"=>"whois.nic.de", "fr"=>"whois.nic.fr", "hu"=>"whois.nic.hu", "ie"=>"whois.domainregistry.ie", "il"=>"whois.isoc.org.il", "in"=>"whois.ncst.ernet.in", "ir"=>"whois.nic.ir", "mc"=>"whois.ripe.net", "to"=>"whois.tonic.to", "tv"=>"whois.tv", "ru"=>"whois.ripn.net", "org"=>"whois.pir.org", "aero"=>"whois.information.aero", "nl"=>"whois.domain-registry.nl" ); if(!isset($servers[$ext])){ die('Error:Nomatchingnicserverfound!'); } $nic_server=$servers[$ext]; $output=''; //connecttowhoisserver: if($conn=fsockopen($nic_server,43)){ fputs($conn,$domain."\r\n"); while(!feof($conn)){ $output.=fgets($conn,128); } fclose($conn); } else{die('Error:Couldnotconnectto'.$nic_server.'!');} return$output; }
10.通过Email发送PHP错误
<?php //Ourcustomerrorhandler functionnettuts_error_handler($number,$message,$file,$line,$vars){ $email=" <p>Anerror($number)occurredonline <strong>$line</strong>andinthe<strong>file:$file.</strong> <p>$message</p>"; $email.="<pre>".print_r($vars,1)."</pre>"; $headers='Content-type:text/html;charset=iso-8859-1'."\r\n"; //Emailtheerrortosomeone... error_log($email,1,'you@youremail.com',$headers); //Makesurethatyoudecidehowtorespondtoerrors(ontheuser'sside) //Eitherechoanerrormessage,orkilltheentireproject.Uptoyou... //Thecodebelowensuresthatweonly"die"iftheerrorwasmorethan //justaNOTICE. if(($number!==E_NOTICE)&&($number<2048)){ die("Therewasanerror.Pleasetryagainlater."); } } //Weshoulduseourcustomfunctiontohandleerrors. set_error_handler('nettuts_error_handler'); //Triggeranerror...(vardoesn'texist) echo$somevarthatdoesnotexist;
是不是也很精彩,和之前的一起收藏吧