php计算剩余时间的自定义函数
把两个日期格式的字符串转化成unix时间戳,然后相减获得时间戳差。最后判断剩余时间,生成类似(2小时30分钟20秒前发布)这样的时间格式
代码如下 | 复制代码 |
public function gettime($time_s,$time_n){ |
首先判断想减之后的值是否大于一天的秒数86400秒,如果大于的话就返回原来的数据库查询出来的时间
然后判断是否在1小时到一天之内,也就是3600秒-86400秒,如果是之内的话就返回X小时。得到结果后还需使用取余数的方法去除小时部分的时间,使用 %取余
然后判断是否在1分钟到一小时之内,也就是60秒-3600秒,如果是之内的话就返回X分钟。得到结果后还需使用取余数的方法去除分钟部分的时间,使用 %取余
最后判断是否在1分钟之内,也就是0秒-60秒,如果是之内的话就返回X分秒
注意:上面得出的结果都是使用.=连接的。这样最后才得到一个整体的时间。
文章介绍利用相关api接口实现根据客户端IP地址获得所属城市地区一个php实例,下面我们一起来看看。今天分享一个PHP根据客户端IP地址获得所属地的小程序,以前写的,已经用了很久了,感觉这个接口还是停稳定的。虽然现在网上也有很多类似的,但是我觉得我这个还是很不错的,核心代码只用3行就能实现。虽然功能不是很强大,但是我们平时算是够用的。以下是代码:
代码如下 | 复制代码 |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>通过IP获取归属地</title> </head>
本文章来源于 代潇瑞博客 原文地址:http://www.daixiaorui.com/read/3.html <body> <form action="" method="post"> <p>请输入ip地址:<input type="text" name="ip" /></p> <p><input type="submit" value="查询" /></p> </form> <?php //获取ip地址 //$ip = $_SERVER['REMOTE_ADDR']; //自动获取客户端的IP //ip对应的地区 if(!empty($_POST['ip'])){ $ip = $_POST['ip']; //接口地址,这样返回的是一个xml结果集,如图1; $str = file_get_contents("http://www.yodao.com/smartresult-xml/search.s?type=ip&q=".$ip); //这里要得到里面的地址信息,提取xml方法有很多,我用的是正则。 preg_match_all( "/<location>(.*?)</location>/",$str,$addr1); //最终结果,如图2; $addr = $ip."=>".$addr1[1][0]; echo $addr; } ?> </body> </html> |
图1 : 返回数据
图2 : 查询成功
如果喜欢的话,可以试试,几行代码就能搞定,我觉得还是挺实用的!!
例
代码如下 | 复制代码 |
<?php |
以上的方法,可以把不同用户的phpinfo信息保存下来。
这里我们可以着重看看这个方法的使用技巧,用这个方法可以实现生成静态页面的便利!
并且用这个方法比用file_get_conents()的方法更合理更有效率。
简单的说个应用吧,比如想要把phpinfo()的内容写入文件,可以这样做:
代码如下 | 复制代码 |
ob_start(); 或者还有这样的用途: ob_start(); //打开缓冲区 |
header()会发送一段文件头给浏览器,但是如果在header()之前已经有了任何输出(包括空输出,比如空格,回车和换行)就会报错。但是如果输出在ob_start()和ob_end_flush()之间,就会没有问题。因为在输出前打开了缓冲区,echo后面的字符就不会输出到浏览器,而是保留在服务器,知道使用flush才会输出,所以header()会正常执行。
当然,ob_start()还可以有参数,参数就是一个回调函数。例子如下:
代码如下 | 复制代码 |
< ? php 以上程序会输出: < html > |
至于更多的,就去官网的手册里看吧。
最近移动互联网火爆了我们需要做一个PC站与WAP站,要实现如果用户是电脑访问WAP站就自动进入PC站,反之一样,下面我整理了一些代码与大家一起来看看。方法一:判断HTTP_USER_AGENT
代码如下 | 复制代码 |
$agent = strtolower($_SERVER['HTTP_USER_AGENT']); |
方法二:判断HTTP_ACCEPT
代码如下 | 复制代码 |
if (isset($_SERVER['HTTP_ACCEPT']) && (strpos($_SERVER['HTTP_ACCEPT'],'vnd.wap.wml')!==FALSE) &&(strpos($_SERVER['HTTP_ACCEPT'],'text/html')===FALSE || (strpos($_SERVER['HTTP_ACCEPT'],'vnd.wap.wml') < strpos($_SERVER['HTTP_ACCEPT'],'text/html')) )) {//手机访问 Header("HTTP/1.1 301 Moved Permanently"); header("Location:####"); die; } |
以上两个方法都有局限性,
下面将此两种方法整合起来判断
代码如下 | 复制代码 |
function isMobile() { |
上面的方法也存在一些小问题,这里我根据自己的经验来告诉大我们可以使用屏幕宽度来实现再加机器类型了,因为有时HTTP_USER_AGENT信息在我们上面并未定义过了,不过上面实现几乎兼容了主流手机了。
我们还可以使用js
在php中取整函数有四个函数,如floor,ceil,round,intval这几个了,下面我给大家分别介绍它们之间应用实例。<html>
<body>
<script type="text/javascript">
function browserRedirect() {
var sUserAgent = navigator.userAgent.toLowerCase();
var bIsIpad = sUserAgent.match(/ipad/i) == "ipad";
var bIsIphoneOs = sUserAgent.match(/iphone os/i) == "iphone os";
var bIsMidp = sUserAgent.match(/midp/i) == "midp";
var bIsUc7 = sUserAgent.match(/rv:1.2.3.4/i) == "rv:1.2.3.4";
var bIsUc = sUserAgent.match(/ucweb/i) == "ucweb";
var bIsAndroid = sUserAgent.match(/android/i) == "android";
var bIsCE = sUserAgent.match(/windows ce/i) == "windows ce";
var bIsWM = sUserAgent.match(/windows mobile/i) == "windows mobile";if (bIsIpad || bIsIphoneOs || bIsMidp || bIsUc7 || bIsUc || bIsAndroid || bIsCE || bIsWM) {
window.location.href = 'http://url/mobile.html';
} else {
window.location = 'http://url/pc.html';
}}
browserRedirect();
</script></body>
</html>
floor 舍去法取整 语法格式:float floor ( float value )
返回不大于 value 的下一个整数,将 value 的小数部分舍去取整。floor() 返回的类型仍然是 float,因为 float 值的范围通常比 integer 要大。
代码如下 | 复制代码 |
echo floor(4.3); // 4 |
ceil 进一法取整 语法格式: float ceil ( float value )
返回不小于 value 的下一个整数,value 如果有小数部分则进一位。ceil() 返回的类型仍然是 float,因为 float 值的范围通常比 integer 要大
代码如下 | 复制代码 |
echo ceil(4.3); // 5 echo ceil(9.999); // 10 |
round 对浮点数进行四舍五入
语法:float round ( float val [, int precision] )
代码如下 | 复制代码 |
echo round(3.4); // 3 |
intval---对变数转成整数型态
例子intval()
代码如下 | 复制代码 |
<?php echo intval(4.3); //4 echo intval(4.6); // 4 ?> |
相关文章
- eval函数在php中是一个函数并不是系统组件函数,我们在php.ini中的disable_functions是无法禁止它的,因这他不是一个php_function哦。 eval()针对php安全来说具有很...2016-11-25
- 在php中eval是一个函数并且不能直接禁用了,但eval函数又相当的危险了经常会出现一些问题了,今天我们就一起来看看eval函数对数组的操作 例子, <?php $data="array...2016-11-25
Python astype(np.float)函数使用方法解析
这篇文章主要介绍了Python astype(np.float)函数使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-06-08- 这篇文章主要介绍了Python中的imread()函数用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-16
- 本文主要介绍了C# 中取绝对值的函数。具有很好的参考价值。下面跟着小编一起来看下吧...2020-06-25
- 下面小编就为大家带来一篇C#学习笔记- 随机函数Random()的用法详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25
- 这篇文章主要给大家介绍了关于C#创建自定义控件及添加自定义属性和事件使用的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用C#具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧...2020-06-25
- 本文实例讲述了JS实现自定义简单网页软键盘效果。分享给大家供大家参考,具体如下:这是一款自定义的简单点的网页软键盘,没有使用任何控件,仅是为了练习JavaScript编写水平,安全性方面没有过多考虑,有顾虑的可以不用,目的是学...2015-11-08
- CREATE FUNCTION ChangeBigSmall (@ChangeMoney money) RETURNS VarChar(100) AS BEGIN Declare @String1 char(20) Declare @String2 char...2016-11-25
- 这篇文章主要介绍了C++中Sort函数详细解析,sort函数是algorithm库下的一个函数,sort函数是不稳定的,即大小相同的元素在排序后相对顺序可能发生改变...2022-08-18
Android开发中findViewById()函数用法与简化
findViewById方法在android开发中是获取页面控件的值了,有没有发现我们一个页面控件多了会反复研究写findViewById呢,下面我们一起来看它的简化方法。 Android中Fin...2016-09-20- 这篇文章主要介绍了Vue 组件复用多次自定义参数操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-07-27
- strstr() 函数搜索一个字符串在另一个字符串中的第一次出现。该函数返回字符串的其余部分(从匹配点)。如果未找到所搜索的字符串,则返回 false。语法:strstr(string,search)参数string,必需。规定被搜索的字符串。 参数sea...2013-10-04
- 为了增强android应用的用户体验,我们可以在一些Button按钮上自定义动态的设置一些样式,比如交互时改变字体、颜色、背景图等。 今天来看一个通过重写Button来动态实...2016-09-20
PHP函数分享之curl方式取得数据、模拟登陆、POST数据
废话不多说直接上代码复制代码 代码如下:/********************** curl 系列 ***********************///直接通过curl方式取得数据(包含POST、HEADER等)/* * $url: 如果非数组,则为http;如是数组,则为https * $header:...2014-06-07- Foreach 函数(PHP4/PHP5)foreach 语法结构提供了遍历数组的简单方式。foreach 仅能够应用于数组和对象,如果尝试应用于其他数据类型的变量,或者未初始化的变量将发出错误信息。...2013-09-28
- free函数是释放之前某一次malloc函数申请的空间,而且只是释放空间,并不改变指针的值。下面我们就来详细探讨下...2020-04-25
- 下面我们来看一篇关于Android自定义WebView网络视频播放控件开发例子,这个文章写得非常的不错下面给各位共享一下吧。 因为业务需要,以下代码均以Youtube网站在线视...2016-10-02
- 自定义一个jquery模态窗口插件,将它集成到现有平台框架中时,它只能在mainFrame窗口中显示,无法在顶层窗口显示. 解决这个问题的办法: 通过以下代码就可能实现在顶层窗口弹窗 复制代码 代码如下: $(window.top.documen...2014-05-31
- 这篇文章主要介绍了自定义feignClient的常见坑及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-10-20