Facebook 样式的时间戳

2016-6-15 liyangweb.com 李杨 PHP

function nicetime($date)
{
    if(empty($date)) {
        return "No date provided";
    }

    $periods         = array("second", "minute", "hour", "day", "week", "month", "year", "decade");
    $lengths         = array("60","60","24","7","4.35","12","10");

    $now             = time();
    $unix_date         = strtotime($date);

       // check validity of date
    if(empty($unix_date)) {    
        return "Bad date";
    }
    // is it future date or past date
    if($now > $unix_date) {    
        $difference     = $now - $unix_date;
        $tense         = "ago";

    } else {
        $difference     = $unix_date - $now;
        $tense         = "from now";
    }

    for($j = 0; $difference >= $lengths[$j] && $j < count($lengths)-1; $j++) {
        $difference /= $lengths[$j];
    }

    $difference = round($difference);

    if($difference != 1) {
        $periods[$j].= "s";
    }

    return "$difference $periods[$j] {$tense}";
}

$date = "2015-07-05 03:45";
$result = nicetime($date); // 2 days ago

评论(0) 浏览(1312)

计算两个地图坐标之间的距离

2016-6-15 liyangweb.com 李杨 PHP

function getDistanceBetweenPointsNew($latitude1, $longitude1, $latitude2, $longitude2) {
    $theta = $longitude1 - $longitude2;
    $miles = (sin(deg2rad($latitude1)) * sin(deg2rad($latitude2))) + (cos(deg2rad($latitude1)) * cos(deg2rad($latitude2)) * cos(deg2rad($theta)));
    $miles = acos($miles);
    $miles = rad2deg($miles);
    $miles = $miles * 60 * 1.1515;
    $feet = $miles * 5280;
    $yards = $feet / 3;
    $kilometers = $miles * 1.609344;
    $meters = $kilometers * 1000;
    return compact('miles','feet','yards','kilometers','meters'); 
}
$point1 = array('lat' => 40.770623, 'long' => -73.964367);
$point2 = array('lat' => 40.758224, 'long' => -73.917404);
$distance = getDistanceBetweenPointsNew($point1['lat'], $point1['long'], $point2['lat'], $point2['long']);
foreach ($distance as $unit => $value) {
    echo $unit.': '.number_format($value,4).'<br />';
}

评论(0) 浏览(1206)

把秒转换成天数,小时数和分钟

2016-6-15 liyangweb.com 李杨 PHP

function secsToStr($secs) {
    if($secs>=86400){$days=floor($secs/86400);$secs=$secs%86400;$r=$days.' day';if($days<>1){$r.='s';}if($secs>0){$r.=', ';}}
    if($secs>=3600){$hours=floor($secs/3600);$secs=$secs%3600;$r.=$hours.' hour';if($hours<>1){$r.='s';}if($secs>0){$r.=', ';}}
    if($secs>=60){$minutes=floor($secs/60);$secs=$secs%60;$r.=$minutes.' minute';if($minutes<>1){$r.='s';}if($secs>0){$r.=', ';}}
    $r.=$secs.' second';if($secs<>1){$r.='s';}
    return $r;
}

评论(0) 浏览(1754)

获取用户的真实IP

2016-6-15 liyangweb.com 李杨 PHP

function getRealIpAddr()  
{  
    if (!emptyempty($_SERVER['HTTP_CLIENT_IP']))  
    {  
        $ip=$_SERVER['HTTP_CLIENT_IP'];  
    }  
    elseif (!emptyempty($_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;  
}

评论(0) 浏览(1162)

php7-redis扩展资源下载

2016-5-6 liyangweb.com 李杨 PHP

官方扩展地址(5.x可以考虑):

http://pecl.php.net/package/redis

7.0版本官方暂时还没有,幸好网络上有好多无私的大神,下面是我找到的windows版本(2016-5-6)。

upupw_php_redis-7.0-nts-vc14-x64.zip

upupw_php_redis-7.0-nts-vc14-x86.zip

upupw_php_redis-7.0-ts-vc14-x64.zip

upupw_php_redis-7.0-ts-vc14-x86.zip 

标签: phpredis

评论(0) 浏览(1613)

yii2 swift mailer 发送邮件不成功的问题

2016-4-14 liyangweb.com 李杨 PHP

今天调试yii2自带的swift mailer发邮件,开始调试时,发送用的send()方法始终返回true,但是就是没有收到邮件,很是纳闷,于是开始了半个晚上的调试之旅,我把调试过程发出来,希望后面的小伙伴能少走一些弯路。

阅读全文>>

标签: yii2

评论(2) 浏览(6223)

函数的任意数目的参数

2016-3-31 liyangweb.com 李杨 PHP

你可能知道PHP允许你定义一个默认参数的函数。但你可能并不知道PHP还允许你定义一个完全任意的参数的函数

下面是一个示例向你展示了默认参数的函数:

阅读全文>>

标签: PHP

评论(0) 浏览(1168)

PHP二维数组根据某个字段排序

2016-2-16 liyangweb.com 李杨 PHP

一个二维数组,根据数组中的某一项来进行排序,其实有很多做法,冒泡排序是我最想想到的方法。但是php本身提供了一个不错的方法array_multisort(),但用起来并不是那么的方便,需要额外做不少工作,于是我自己封装了一个方法,可以非常方便的使用这个方法,代码如下:


阅读全文>>

标签: PHP

评论(0) 浏览(1644)

phpstorm+Xdebug断点调试PHP

2015-12-9 liyangweb.com 李杨 PHP


做php开发几年了,一直没用过任何调试工具(曾经尝试配置过,但没成功),今天又来了点兴致,鼓捣一下,当然还是参考网上的资料,竟然配置成功了!


运行环境:

PHPSTORM版本 : 8.0.1

PHP版本 : 5.6.2

xdebug版本:php_xdebug-2.2.5-5.6-vc11-x86_64.dll

ps : php版本和xdebug版本一定要相对应

阅读全文>>

标签: PHP phpstorm

评论(1) 浏览(2260)

php curl post数据返回状态415的问题

2015-12-2 liyangweb.com 李杨 PHP

在和一个java项目对接的过程中,对方项目要求post一个json过去,之前也有过类似的需求,php端是直接将数组转化成json发送的,对方结束及返回都没有问题。但是这次就怎么也调不通,发现返回值总是415,经过一段时间的郁闷,加上查阅资料,发现可能是需要声明一下数据格式为json。试了一下,果然好了,代码如下:

阅读全文>>

标签: PHP

评论(0) 浏览(2953)

Powered by emlog 冀ICP备13011830号-1