侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

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

php  /  管理员 发布于 7年前   237

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

1. 发送短信

调用 TextMagic API。

// 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 ) 

2. 根据IP查找地址

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('{
  • City : ([^<]*)
  • }i', $content, $regs) ) { $city = $regs[1]; } if ( preg_match('{
  • State/Province : ([^<]*)
  • }i', $content, $regs) ) { $state = $regs[1]; } if( $city!='' && $state!='' ){ $location = $city . ', ' . $state; return $location; }else{ return $default; } }

    3. 显示网页的源代码

    $lines = file('http://google.com/'); 
    foreach ($lines as $line_num => $line) { 
        // loop thru each line and prepend line numbers 
        echo "Line #{$line_num} : " . htmlspecialchars($line) . "
    \n"; 
    }
    4. 检查服务器是否使用HTTPS

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


    5. 显示Facebook粉丝数量

    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; } 

    6. 检测图片的主要颜色

    $i = imagecreatefromjpeg("image.jpg");  for ($x=0;$x> 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: 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 */ 

    8. 使用 gzcompress() 压缩数据

    $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); 

    9. 使用PHP做Whois检查

    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."\r\n");   while(!feof($conn)) {    $output .= fgets($conn,128);   }   fclose($conn);  }  else { die('Error: Could not connect to ' . $nic_server . '!'); }   return $output; } 


    10. 通过Email发送PHP错误

    An error ($number) occurred on line   $line and in the file: $file.   

    $message

    "; $email .= "
    " . print_r($vars, 1) . "
    "; $headers = 'Content-type: text/html; ' . "\r\n"; // Email the error to someone... error_log($email, 1, '[email protected]', $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;

    是不是也很精彩,和之前的一起收藏吧

    您可能感兴趣的文章:

    • 7个超级实用的PHP代码片段
    • 10个实用的PHP代码片段
    • php中常用字符串处理代码片段整理
    • 超级实用的7个PHP代码片段分享
    • PHP 安全检测代码片段(分享)
    • 19个超实用的PHP代码片段
    • 9个经典的PHP代码片段分享
    • 6个超实用的PHP代码片段
    • 46 个非常有用的 PHP 代码片段
    • 9个比较实用的php代码片段


  • 上一条:
    常见PHP数据库解决方案分析介绍
    下一条:
    PHP易混淆知识整理笔记
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • Laravel从Accel获得5700万美元A轮融资(0个评论)
    • PHP 8.4 Alpha 1现已发布!(0个评论)
    • 用Time Warden监控PHP中的代码处理时间(0个评论)
    • 在PHP中使用array_pop + yield实现读取超大型目录功能示例(0个评论)
    • Property Hooks RFC在PHP 8.4中越来越接近现实(0个评论)
    • 近期文章
    • 智能合约Solidity学习CryptoZombie第三课:组建僵尸军队(高级Solidity理论)(0个评论)
    • 智能合约Solidity学习CryptoZombie第二课:让你的僵尸猎食(0个评论)
    • 智能合约Solidity学习CryptoZombie第一课:生成一只你的僵尸(0个评论)
    • 在go中实现一个常用的先进先出的缓存淘汰算法示例代码(0个评论)
    • 在go+gin中使用"github.com/skip2/go-qrcode"实现url转二维码功能(0个评论)
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(0个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 欧盟关于强迫劳动的规定的官方举报渠道及官方举报网站(0个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf文件功能(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-10
    • 2016-11
    • 2017-06
    • 2017-07
    • 2017-08
    • 2017-09
    • 2017-11
    • 2017-12
    • 2018-01
    • 2018-02
    • 2018-03
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2020-07
    • 2020-09
    • 2021-02
    • 2021-03
    • 2021-04
    • 2021-05
    • 2021-06
    • 2021-07
    • 2021-08
    • 2021-09
    • 2021-10
    • 2021-11
    • 2021-12
    • 2022-01
    • 2022-02
    • 2022-05
    • 2022-06
    • 2022-07
    • 2022-08
    • 2022-09
    • 2022-10
    • 2022-11
    • 2022-12
    • 2023-01
    • 2023-02
    • 2023-03
    • 2023-04
    • 2023-05
    • 2023-06
    • 2023-07
    • 2023-08
    • 2023-09
    • 2023-10
    • 2023-11
    • 2023-12
    • 2024-01
    • 2024-02
    • 2024-03
    • 2024-04
    • 2024-05
    • 2024-06
    • 2024-07
    • 2024-09
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客