加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

又十个超级有用的PHP代码片段

发布时间:2020-12-13 02:51:26 所属栏目:PHP教程 来源:网络整理
导读:《:又十个超级有用的PHP代码片段》要点: 本文介绍了:又十个超级有用的PHP代码片段,希望对您有用。如果有疑问,可以联系我们。 PHP实例 好东西要大家一起分享,上次分享了十个,这次再来十个超等有用的PHP代码片段. PHP实例 1. 发送短信 PHP实例 调用 TextM

《:又十个超级有用的PHP代码片段》要点:
本文介绍了:又十个超级有用的PHP代码片段,希望对您有用。如果有疑问,可以联系我们。

PHP实例好东西要大家一起分享,上次分享了十个,这次再来十个超等有用的PHP代码片段.

PHP实例1. 发送短信

PHP实例调用 TextMagic API.

PHP实例
// Include the TextMagic PHP lib 
require('textmagic-sms-api-php/TextMagicAPI.php'); 
 
// Set the username and password information 
$username = 'myusername'; 
$password = 'mypassword'; 
 
// Create a new instance of TM 
$router = new TextMagicAPI(array( 
 'username' => $username,'password' => $password 
)); 
 
// Send a text message to '999-123-4567' 
$result = $router->send('Wake up!',array(9991234567),true); 
 
// result: Result is: Array ( [messages] => Array ( [19896128] => 9991234567 ) [sent_text] => Wake up! [parts_count] => 1 ) 

PHP实例2. 根据IP查找地址

PHP实例
function detect_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; Windows NT 5.1; en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6 (.NET CLR 3.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',$regs) ) { 
   $state = $regs[1]; 
  } 
 
  if( $city!='' && $state!='' ){ 
   $location = $city . ',' . $state; 
   return $location; 
  }else{ 
   return $default; 
  } 
 
 } 

PHP实例3. 显示网页的源代码

PHP实例<?php // display source code?
$lines = file('http://google.com/');?
foreach ($lines as $line_num => $line) {?
??? // loop thru each line and prepend line numbers?
??? echo "Line #<b>{$line_num}</b> : " . htmlspecialchars($line) . "<br>n";?
}
4. 检查服务器是否使用HTTPS

PHP实例
if ($_SERVER['HTTPS'] != "on") { 
 echo "This is not HTTPS"; 
}else{ 
 echo "This is HTTPS"; 
} 

PHP实例
5. 显示Facebook粉丝数量

PHP实例
function fb_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; 
} 

PHP实例6. 检测图片的主要颜色

PHP实例
$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); 

PHP实例7. 获取内存使用信息

PHP实例
echo "Initial: ".memory_get_usage()." bytes n"; 
/* prints 
Initial: 361400 bytes 
*/ 
 
// let's use up some memory 
for ($i = 0; $i < 100000; $i++) { 
 $array []= md5($i); 
} 
 
// let's remove half of the array 
for ($i = 0; $i < 100000; $i++) { 
 unset($array[$i]); 
} 
 
echo "Final: ".memory_get_usage()." bytes n"; 
/* prints 
Final: 885912 bytes 
*/ 
 
echo "Peak: ".memory_get_peak_usage()." bytes n"; 
/* prints 
Peak: 13687072 bytes 
*/ 

PHP实例8. 使用 gzcompress() 压缩数据

PHP实例
$string = 
"Lorem ipsum dolor sit amet,consectetur 
adipiscing elit. Nunc ut elit id mi ultricies 
adipiscing. Nulla facilisi. Praesent pulvinar,sapien vel feugiat vestibulum,nulla dui pretium orci,non ultricies elit lacus quis ante. Lorem ipsum dolor 
sit amet,consectetur adipiscing elit. Aliquam 
pretium ullamcorper urna quis iaculis. Etiam ac massa 
sed turpis tempor luctus. Curabitur sed nibh eu elit 
mollis congue. Praesent ipsum diam,consectetur vitae 
ornare a,aliquam a nunc. In id magna pellentesque 
tellus posuere adipiscing. Sed non mi metus,at lacinia 
augue. Sed magna nisi,ornare in mollis in,mollis 
sed nunc. Etiam at justo in leo congue mollis. 
Nullam in neque eget metus hendrerit scelerisque 
eu non enim. Ut malesuada lacus eu nulla bibendum 
id euismod urna sodales. "; 
 
$compressed = gzcompress($string); 
 
echo "Original size: ". strlen($string)."n"; 
/* prints 
Original size: 800 
*/ 
 
echo "Compressed size: ". strlen($compressed)."n"; 
/* prints 
Compressed size: 418 
*/ 
 
// getting it back 
$original = gzuncompress($compressed); 

PHP实例9. 使用PHP做Whois检查

PHP实例
function whois_query($domain) { 
 
 // fix the domain name: 
 $domain = strtolower(trim($domain)); 
 $domain = preg_replace('/^http:///i','',$domain); 
 $domain = preg_replace('/^www./i',$domain); 
 $domain = explode('/',$domain); 
 $domain = trim($domain[0]); 
 
 // split the TLD from domain name 
 $_domain = explode('.',$domain); 
 $lst = count($_domain)-1; 
 $ext = $_domain[$lst]; 
 
 // You find resources and lists 
 // like these on wikipedia: 
 // 
 // 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: No matching nic server found!'); 
 } 
 
 $nic_server = $servers[$ext]; 
 
 $output = ''; 
 
 // connect to whois server: 
 if ($conn = fsockopen ($nic_server,43)) { 
  fputs($conn,$domain."rn"); 
  while(!feof($conn)) { 
   $output .= fgets($conn,128); 
  } 
  fclose($conn); 
 } 
 else { die('Error: Could not connect to ' . $nic_server . '!'); } 
 
 return $output; 
} 

PHP实例
10. 通过Email发送PHP差错

PHP实例
<?php 
 
// Our custom error handler 
function nettuts_error_handler($number,$message,$file,$line,$vars){ 
 $email = " 
  <p>An error ($number) occurred on line 
  <strong>$line</strong> and in the <strong>file: $file.</strong> 
  <p> $message </p>"; 
 
 $email .= "<pre>" . print_r($vars,1) . "</pre>"; 
 
 $headers = 'Content-type: text/html; charset=iso-8859-1' . "rn"; 
 
 // Email the error to someone... 
 error_log($email,1,'you@youremail.com',$headers); 
 
 // Make sure that you decide how to respond to errors (on the user's side) 
 // Either echo an error message,or kill the entire project. Up to you... 
 // The code below ensures that we only "die" if the error was more than 
 // just a NOTICE. 
 if ( ($number !== E_NOTICE) && ($number < 2048) ) { 
  die("There was an error. Please try again later."); 
 } 
} 
 
// We should use our custom function to handle errors. 
set_error_handler('nettuts_error_handler'); 
 
// Trigger an error... (var doesn't exist) 
echo $somevarthatdoesnotexist; 

PHP实例是不是也很出色,和之前的一起收藏吧

编程之家培训学院每天发布《:又十个超级有用的PHP代码片段》等实战技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培养人才。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读