又十个超级有用的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;
是不是也很精彩,和之前的一起收藏吧