分享几个非常有用的PHP代码片段

2024-06-19 07:08

本文主要是介绍分享几个非常有用的PHP代码片段,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  调用 TextMagic++ API。
  // Include the TextMagicPHP lib
  require('textmagic-sms-api-php/TextMagicAPI.php');
  // Set the username andpassword information
  $username = 'myusername';
  $password = 'mypassword';
  // Create a new instanceof 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
  for ($y=0;$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: 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 pretiumorci,
  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 justoin 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错误
  // Our custom error handler
  function nettuts_error_handler($number, $message, $file, $line,$vars){
  $email = "
An error ($number) occurred on line
$line and in the file: $file.
$message
";
  $email .= "
" . print_r($vars, 1) . "
";
  $headers = 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
  // 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... (vardoesn't exist)
  echo$somevarthatdoesnotexist;

原文地址:http://bbs.lampbrother.net/read-htm-tid-119002.html

<script type=text/javascript charset=utf-8 src="http://static.bshare.cn/b/buttonLite.js#style=-1&uuid=&pophcol=3&lang=zh"></script> <script type=text/javascript charset=utf-8 src="http://static.bshare.cn/b/bshareC0.js"></script>
阅读(80) | 评论(0) | 转发(0) |
0

上一篇:说说第二项目

下一篇:PHP面向对象法则

相关热门文章
  • C++ 将unsigned char数组 ...
  • linux内核的一些预定义...
  • 美国RT服务器租用仿牌网站不二...
  • 北京外资公司注册都需要那些流...
  • text段,data段,bss段,堆和栈 ...
  • IP Sec VPN与NAT破镜重圆
  • 网站导航
  • GoAgent图文设置教程
  • UT2.0正式版下载
  • tomcat6.0配置(含配置视频下载...
  • 大家都是用什么来管理hadoop集...
  • 网站被人挂了吗,添加了些程序...
  • Nginx如何保证不走宕机的那个...
  • 大家谈谈MYSQL客户端和服务器...
  • 以下代码运行后为何会输出5?...
给主人留下些什么吧!~~
评论热议

这篇关于分享几个非常有用的PHP代码片段的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1074340

相关文章

SpringBoot请求参数接收控制指南分享

《SpringBoot请求参数接收控制指南分享》:本文主要介绍SpringBoot请求参数接收控制指南,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Spring Boot 请求参数接收控制指南1. 概述2. 有注解时参数接收方式对比3. 无注解时接收参数默认位置

利用Python调试串口的示例代码

《利用Python调试串口的示例代码》在嵌入式开发、物联网设备调试过程中,串口通信是最基础的调试手段本文将带你用Python+ttkbootstrap打造一款高颜值、多功能的串口调试助手,需要的可以了... 目录概述:为什么需要专业的串口调试工具项目架构设计1.1 技术栈选型1.2 关键类说明1.3 线程模

Python Transformers库(NLP处理库)案例代码讲解

《PythonTransformers库(NLP处理库)案例代码讲解》本文介绍transformers库的全面讲解,包含基础知识、高级用法、案例代码及学习路径,内容经过组织,适合不同阶段的学习者,对... 目录一、基础知识1. Transformers 库简介2. 安装与环境配置3. 快速上手示例二、核心模

Java的栈与队列实现代码解析

《Java的栈与队列实现代码解析》栈是常见的线性数据结构,栈的特点是以先进后出的形式,后进先出,先进后出,分为栈底和栈顶,栈应用于内存的分配,表达式求值,存储临时的数据和方法的调用等,本文给大家介绍J... 目录栈的概念(Stack)栈的实现代码队列(Queue)模拟实现队列(双链表实现)循环队列(循环数组

使用Java将DOCX文档解析为Markdown文档的代码实现

《使用Java将DOCX文档解析为Markdown文档的代码实现》在现代文档处理中,Markdown(MD)因其简洁的语法和良好的可读性,逐渐成为开发者、技术写作者和内容创作者的首选格式,然而,许多文... 目录引言1. 工具和库介绍2. 安装依赖库3. 使用Apache POI解析DOCX文档4. 将解析

C++使用printf语句实现进制转换的示例代码

《C++使用printf语句实现进制转换的示例代码》在C语言中,printf函数可以直接实现部分进制转换功能,通过格式说明符(formatspecifier)快速输出不同进制的数值,下面给大家分享C+... 目录一、printf 原生支持的进制转换1. 十进制、八进制、十六进制转换2. 显示进制前缀3. 指

使用Python实现全能手机虚拟键盘的示例代码

《使用Python实现全能手机虚拟键盘的示例代码》在数字化办公时代,你是否遇到过这样的场景:会议室投影电脑突然键盘失灵、躺在沙发上想远程控制书房电脑、或者需要给长辈远程协助操作?今天我要分享的Pyth... 目录一、项目概述:不止于键盘的远程控制方案1.1 创新价值1.2 技术栈全景二、需求实现步骤一、需求

Java中Date、LocalDate、LocalDateTime、LocalTime、时间戳之间的相互转换代码

《Java中Date、LocalDate、LocalDateTime、LocalTime、时间戳之间的相互转换代码》:本文主要介绍Java中日期时间转换的多种方法,包括将Date转换为LocalD... 目录一、Date转LocalDateTime二、Date转LocalDate三、LocalDateTim

jupyter代码块没有运行图标的解决方案

《jupyter代码块没有运行图标的解决方案》:本文主要介绍jupyter代码块没有运行图标的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录jupyter代码块没有运行图标的解决1.找到Jupyter notebook的系统配置文件2.这时候一般会搜索到

Python通过模块化开发优化代码的技巧分享

《Python通过模块化开发优化代码的技巧分享》模块化开发就是把代码拆成一个个“零件”,该封装封装,该拆分拆分,下面小编就来和大家简单聊聊python如何用模块化开发进行代码优化吧... 目录什么是模块化开发如何拆分代码改进版:拆分成模块让模块更强大:使用 __init__.py你一定会遇到的问题模www.