获取浏览器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. hdoj 1150 Machine Schedule【匈牙利算法+最小顶点覆盖】

    Machine Schedule Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  2. postgresql9.5 run 文件linux安装后配置成开机服务

    网上出现的比较多安装方法要么是源码安装,要么是yum安装,我发觉都要配置很多属性,比较麻烦,所以现在我在centos7长用 run文件来安装 http://get.enterprisedb.com/p ...

  3. LINQ如何递归子控件

    private void SetTextReadOnly(Control ctr, bool blReadOnly) { ctr.Controls.Cast<Control>().Sele ...

  4. easyui 很好很强大

    easyui 很好很强大 http://api.btboys.com/easyui/   中文API教程 分页,拖动等效果很漂亮...

  5. spring 整合JDBC

    使用Spring提供的三个JDBC模板类(JdbcTemplate.NamedParameterJdbcTemplate.SimpleJdbcTemplate)操作数据库 一.JdbcTemplate ...

  6. [TypeScript] Loading Compiled TypeScript Files in Browser with SystemJS

    TypeScript outputs JavaScript, but what are you supposed to do with it? This lesson shows how to tak ...

  7. SCTP 关联的建立和终止

    与TCP一样,SCTP也是面向连接的,因而也有关联的建立与终止的握手过程.不过SCTP的握手过程不同于TCP. 四路握手 建立一个SCTP关联的时候会发生下述情形(类似于TCP). (1)服务器必须准 ...

  8. 15分钟弄懂 const 和 #define

    什么是const ? 什么是#define? 他们有什么用? 他们有什么区别? 应该怎么用? 总结 1. 什么是const ? const是C/C++中的一个关键字(修饰符), const一般用来定义 ...

  9. python 函数初识和文件操作

    文件操作  打开文件:文件句柄 = open('文件路径', '模式')  打开文件的模式 w #以写的方式打开 (不可读,不存在则创建,存在则删除内容) a #以追加的模式打开(可读, 不存在则创建 ...

  10. HTML5 Canvas 2D绘图

    为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处.LaplaceDemon/ShiJiaqi. http://www.cnblogs.com/shijiaqi1066/p/4851774. ...