获取浏览器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. [Python]网络爬虫(二):利用urllib2通过指定的URL抓取网页内容

    版本号:Python2.7.5,Python3改动较大. 所谓网页抓取,就是把URL地址中指定的网络资源从网络流中读取出来,保存到本地. 类似于使用程序模拟IE浏览器的功能,把URL作为HTTP请求的 ...

  2. CF 19D 线段树+set压缩坐标轴+离散化map

    题意: n个操作,在200000*200000的平面上加删点 find 严格在坐标右上角,x最小,再y最小的点 线段树做,区间为离散化后的 X轴坐标 ,维护区间点数 和 最小的 y 值 ( 维护最小y ...

  3. Android模拟器报"Failed To Allocate memory 8"错误的解决办法

    此错误是我们在允许AVD时,选择了默认的AVD插件所致. 解决方法:减少分配的内存大小.修改AVD的config.ini配置文件,将选项“hw.ramSize=1024”从1024改为256.

  4. ffmpeg的logo, delogo滤镜参数设置

    FFmpeg的添加logo,去logo滤镜的组合共有三种方式: 1. 只有添加logo滤镜 $ ./ffmpeg -i INPUT.FLV  \ -vf movie=/opt/logo.png[log ...

  5. 【JAVA - SSM】之MyBatis输出映射

    MyBatis中的输出映射有两种:resultType和resultMap. 1.resultType 使用resultType进行结果映射时,只有当查询结果中有至少一列的名称和resultType指 ...

  6. [R] Draw a wordcloud

    # 加载rJava.Rwordseg库 library(rJava); library(Rwordseg); library(RColorBrewer); # == 读入数据 lecture=read ...

  7. win10常见问题-任务栏消失

    问题描写叙述: O疼地尝鲜了win10,bug层出不穷,眼下遇到的最大的两个BUG是: 1.启动后高概率出现黑屏,仅仅有鼠标,无桌面,无法拯救 2.正常执行高概率出现任务栏丢失现象.无法拯救 问题一, ...

  8. ExecutorService(转)

    ExecutorService 建立多线程的步骤: 1.定义线程类 class Handler implements Runnable{ } 2.建立ExecutorService线程池 Execut ...

  9. Android(java)学习笔记187:Android中操作XML数据(使用Pull解析器)

    1. Pull解析器的运行方式与 SAX 解析器相似.它提供了类似的事件,如:开始元素和结束元素事件,使用parser.next()可以进入下一个元素并触发相应事件.跟SAX不同的是, Pull解析器 ...

  10. day-7

    /* 倒数7天了 某一天 某一刻 某次呼吸 我们终将再分离 而我的 自传里 曾经有你 没有遗憾的诗句 诗句里 充满感激 (小仙女博客抄来的233) 是啊 就快要结束了 曲终人散 上午被错误数据卡了一小 ...