获取浏览器IP地址


  function getRemoteIPAddress() {


  $ip = $_SERVER['REMOTE_ADDR'];


  return $ip;


  }


  如果有代理服务器的情况下获取IP


  function getRealIPAddress() {


  if (!empty($_SERVER['HTTP_CLIENT_IP'])) { // check ip from share internet


  $ip = $_SERVER['HTTP_CLIENT_IP'];


  } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) { // to check ip is pass from proxy


  $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];


  } else {


  $ip = $_SERVER['REMOTE_ADDR'];


  }


  return $ip;


  }


  获取 MySQL 时间戳


  $query = "select UNIX_TIMESTAMP(date_field) as mydate from mytable where 1=1";


  $records = mysql_query($query) or die(mysql_error());


  while($row = mysql_fetch_array($records)) {


  echo $row;


  }


  验证日期格式:YYYY-MM-DD


  function checkDateFormat($date) {


  // match the format of the date


  if (preg_match("/^([0-9]{4})-([0-9]{2})-([0-9]{2})$/", $date, $parts)) {


  // check whether the date is valid of not


  if (checkdate($parts[2], $parts[3], $parts[1])) {


  return true;


  } else {


  return false;


  }


  } else {


  return false;


  }


  }


  重定向


  header('Location: http://www.phpchina.com');


  发送邮件


  $to = "someone@oschina.net";


  $subject = "Your Subject here";


  $body = "Body of your message here you can use HTML too. e.g.


Bold ";


  $headers = "From: You\r\n";


  $headers .= "Reply-To: info@yoursite.com\r\n";


  $headers .= "Return-Path: info@yoursite.com\r\n";


  $headers .= "X-Mailer: PHP\n";


  $headers .= 'MIME-Version: 1.0' . "\n";


  $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";


  mail($to, $subject, $body, $headers);


  BASE64 编码和解码


  function base64url_encode($plainText) {


  $base64 = base64_encode($plainText);


  $base64url = strtr($base64, '+/=', '-_,');


  return $base64url;


  }


  function base64url_decode($plainText) {


  $base64url = strtr($plainText, '-_,', '+/=');


  $base64 = base64_decode($base64url);


  return $base64;


  }


  JSON 处理


  $json_data = array ('id'=>1,'name'=>"John",'country'=>'Canada',"work"=>array("Google","Oracle"));


  echo json_encode($json_data);


  $json_string='{"id":1,"name":"John","country":"Canada","work":["Google","Oracle"]} ';


  $obj=json_decode($json_string);


  // print the parsed data


  echo $obj->name; //displays John


  echo $obj->work[0]; //displays Google


  检测用户浏览器类型


  $useragent = $_SERVER ['HTTP_USER_AGENT'];


  echo "Your User Agent is: " . $useragent;


  显示网页源码


  $lines = file('http://www.phpchina.com/index.php');


  foreach ($lines as $line_num => $line) {


  // loop thru each line and prepend line numbers


  echo "Line #<b>{$line_num}</b> : " . htmlspecialchars($line) . "<br>\n";


  }


  调整服务器时间


  $now = date('Y-m-d-G');


  $now = strftime("%Y-%m-%d-%H", strtotime("$now -8 hours"));

10个必看的PHP小代码,很实用!的更多相关文章

  1. 疯狂delphi - 朱建强 (一些小例子很实用,也是我所关心的几个问题)

    疯狂delphi - 朱建强 (一些小例子很实用,也是我所关心的几个问题) Android实例-获取安卓手机WIFI信息(XE8+小米2)http://www.cnblogs.com/FKdelphi ...

  2. 小程序开发运营必看:微信小程序平台运营规范

    一.原则及相关说明 ​ 微信最核心的价值,就是连接——提供一对一.一对多和多对多的连接方式,从而实现人与人.人与智能终端.人与社交化娱乐.人与硬件设备的连接,同时连接服务.资讯.商业. ​ 微信团队一 ...

  3. 利用JS提交表单的几种方法和验证(必看篇)

    第一种方式:表单提交,在form标签中增加onsubmit事件来判断表单提交是否成功 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 <scr ...

  4. 基于StringUtils工具类的常用方法介绍(必看篇)

    前言:工作中看到项目组里的大牛写代码大量的用到了StringUtils工具类来做字符串的操作,便学习整理了一下,方便查阅. isEmpty(String str) 是否为空,空格字符为false is ...

  5. (转载)Android之有效防止按钮多次重复点击的方法(必看篇)

    为了防止测试妹子或者用户频繁点击某个按钮,导致程序在短时间内进行多次数据提交or数据处理,那到时候就比较坑了~ 那么如何有效避免这种情况的发生呢? 我的想法是,判断用户点击按钮间隔时间,如果间隔时间太 ...

  6. iOS 10 推送必看(高阶1)

    来源:徐不同 链接:http://www.jianshu.com/p/3d602a60ca4f iOS10 推送必看(基础篇) 虽然这篇文章比较长,也不好理解,但是还是建议大家收藏,以后用到的时候,可 ...

  7. 3DS MAX玩家必看!70个提高渲染速度的小技巧

    3DS MAX玩家必看!70个提高渲染速度的小技巧 (注:节省RAM不一定会加快渲染速度.请同学们根据实际情况加以利用.) 1. 尽量限制Ploygon数量,越少渲染速度越快 2. 如果使用Vray, ...

  8. 高级Java必看的10本书

    1.深入理解Java虚拟机:JVM高级特性与最佳实践 本书共分为五大部分,围绕内存管理.执行子系统.程序编译与优化.高效并发等核心主题对JVM进行了全面而深入的分析,深刻揭示了JVM的工作原理. 2. ...

  9. Java编程思想重点笔记(Java开发必看)

    Java编程思想重点笔记(Java开发必看)   Java编程思想,Java学习必读经典,不管是初学者还是大牛都值得一读,这里总结书中的重点知识,这些知识不仅经常出现在各大知名公司的笔试面试过程中,而 ...

随机推荐

  1. yii快速入门与参考

    Yii 权威指南 http://www.yiichina.com/guide/ http://www.yiiframework.com/doc/guide/1.1/zh_cn/ Ⅰ.基本概念一.入口文 ...

  2. BZOJ 2933([Poi1999]地图-区间Dp)

    2933: [Poi1999]地图 Time Limit: 1 Sec   Memory Limit: 128 MB Submit: 7   Solved: 7 [ Submit][ Status] ...

  3. cf754D

    题意:给你一个数m,有多少优惠券,给个n,主角想用多少优惠券.然后接下来时m行,每行两个数,那张优惠券的优惠区间a,b(在a号货物到b号货物之间的所有都可以优惠) 问你,能不能用k张优惠券,是他的优惠 ...

  4. Bitbucket Pull Request和fork

    本文参考了http://blog.jobbole.com/76854/   Pull Request在Forking工作流中使用,这个也同样适用于小团队的开发协作和第三方开发者向开源项目的贡献.当你要 ...

  5. 微信开发第5章 通过accesstoken获取用户基本信息并修改用户备注

    在关注者与公众号产生消息交互后,公众号可获得关注者的OpenID(加密后的微信号,每个用户对每个公众号的OpenID是唯一的.对于不同公众号,同一用户的openid不同).公众号可通过本接口来根据Op ...

  6. Intent是什么?

    一.理解Intent: 在一个Android应用中,主要是由四种组件组成的,这四种组件可参考“Android应用的构成”.而这四种组件是独立的,它们之间可以互相调用,协调工作,最终组成一个真正的And ...

  7. Quartz定时任务学习(七)Cron 触发器

    Cron表达式 Quartz使用类似于Linux下的Cron表达式定义时间规则,Cron表达式由6或7个由空格分隔的时间字段组成,如表1所示: 位置 时间域名 允许值 允许的特殊字符 1 秒 0-59 ...

  8. CSharp - Comparison between IComparer and IComparable

    /* Author: Jiangong SUN */ I've already written an article introducing the usage of comparer here. I ...

  9. [D3] 8. Margins

    If you want ot add margins, should append graphics container in svg var svg = d3.select('#chartArea' ...

  10. 全文索引(三)lucene 分词 Analyzer

    分词: 将reader通过阅读对象Analyzer字处理,得到TokenStream处理流程被称为分割. 该解释可能是太晦涩.查看示例,这个东西是什么感性的认识. 样品:一段文本"this ...