分享几个非常有用的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

相关文章

Java调用DeepSeek API的最佳实践及详细代码示例

《Java调用DeepSeekAPI的最佳实践及详细代码示例》:本文主要介绍如何使用Java调用DeepSeekAPI,包括获取API密钥、添加HTTP客户端依赖、创建HTTP请求、处理响应、... 目录1. 获取API密钥2. 添加HTTP客户端依赖3. 创建HTTP请求4. 处理响应5. 错误处理6.

使用 sql-research-assistant进行 SQL 数据库研究的实战指南(代码实现演示)

《使用sql-research-assistant进行SQL数据库研究的实战指南(代码实现演示)》本文介绍了sql-research-assistant工具,该工具基于LangChain框架,集... 目录技术背景介绍核心原理解析代码实现演示安装和配置项目集成LangSmith 配置(可选)启动服务应用场景

Python中顺序结构和循环结构示例代码

《Python中顺序结构和循环结构示例代码》:本文主要介绍Python中的条件语句和循环语句,条件语句用于根据条件执行不同的代码块,循环语句用于重复执行一段代码,文章还详细说明了range函数的使... 目录一、条件语句(1)条件语句的定义(2)条件语句的语法(a)单分支 if(b)双分支 if-else(

linux进程D状态的解决思路分享

《linux进程D状态的解决思路分享》在Linux系统中,进程在内核模式下等待I/O完成时会进入不间断睡眠状态(D状态),这种状态下,进程无法通过普通方式被杀死,本文通过实验模拟了这种状态,并分析了如... 目录1. 问题描述2. 问题分析3. 实验模拟3.1 使用losetup创建一个卷作为pv的磁盘3.

MySQL数据库函数之JSON_EXTRACT示例代码

《MySQL数据库函数之JSON_EXTRACT示例代码》:本文主要介绍MySQL数据库函数之JSON_EXTRACT的相关资料,JSON_EXTRACT()函数用于从JSON文档中提取值,支持对... 目录前言基本语法路径表达式示例示例 1: 提取简单值示例 2: 提取嵌套值示例 3: 提取数组中的值注意

MySQL8.2.0安装教程分享

《MySQL8.2.0安装教程分享》这篇文章详细介绍了如何在Windows系统上安装MySQL数据库软件,包括下载、安装、配置和设置环境变量的步骤... 目录mysql的安装图文1.python访问网址2javascript.点击3.进入Downloads向下滑动4.选择Community Server5.

CSS3中使用flex和grid实现等高元素布局的示例代码

《CSS3中使用flex和grid实现等高元素布局的示例代码》:本文主要介绍了使用CSS3中的Flexbox和Grid布局实现等高元素布局的方法,通过简单的两列实现、每行放置3列以及全部代码的展示,展示了这两种布局方式的实现细节和效果,详细内容请阅读本文,希望能对你有所帮助... 过往的实现方法是使用浮动加

JAVA调用Deepseek的api完成基本对话简单代码示例

《JAVA调用Deepseek的api完成基本对话简单代码示例》:本文主要介绍JAVA调用Deepseek的api完成基本对话的相关资料,文中详细讲解了如何获取DeepSeekAPI密钥、添加H... 获取API密钥首先,从DeepSeek平台获取API密钥,用于身份验证。添加HTTP客户端依赖使用Jav

Java实现状态模式的示例代码

《Java实现状态模式的示例代码》状态模式是一种行为型设计模式,允许对象根据其内部状态改变行为,本文主要介绍了Java实现状态模式的示例代码,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来... 目录一、简介1、定义2、状态模式的结构二、Java实现案例1、电灯开关状态案例2、番茄工作法状态案例

CentOS系统Maven安装教程分享

《CentOS系统Maven安装教程分享》本文介绍了如何在CentOS系统中安装Maven,并提供了一个简单的实际应用案例,安装Maven需要先安装Java和设置环境变量,Maven可以自动管理项目的... 目录准备工作下载并安装Maven常见问题及解决方法实际应用案例总结Maven是一个流行的项目管理工具