php小,php整理小功能

1.字符串和十六进制互转

/**

*字符串转十六进制函数 加密

*@pream string $str='abc';

*/

function strToHex($str){

$hex="";

for($i=0;$i

$hex.=dechex(ord($str[$i]));

$hex=strtoupper($hex);

return $hex;

}

/**

*十六进制转字符串函数 解密

*@pream string $hex='616263';

*/

function hexToStr($hex){

$str="";

for($i=0;$i

$str.=chr(hexdec($hex[$i].$hex[$i+1]));

return $str;

}

?>

加密内容:要加密的内容sxfenglei

E8A681E58AA0E5AF86E79A84E58685E5AEB9737866656E676C6569

解密内容:E8A681E58AA0E5AF86E79A84E58685E5AEB9737866656E676C6569

要加密的内容sxfenglei

2.获取当前时间戳、日期,精确到毫秒

首先,我们封装一个获取时间戳的方法:

第一种方法:时间戳13位

/**

* 获取时间戳到毫秒

* @return bool|string

*/

public static function getMillisecond(){

list($msec, $sec) = explode(' ', microtime());

$msectime = (float)sprintf('%.0f', (floatval($msec) + floatval($sec)) * 1000);

return $msectimes = substr($msectime,0,13);

}

成功获取到了,时间戳且精确到了毫秒!---- 13位

第二种方法:时间戳浮点型

/**

* 时间戳 - 精确到毫秒

* @return float

*/

public static function getMillisecond() {

list($t1, $t2) = explode(' ', microtime());

return (float)sprintf('%.0f',(floatval($t1)+floatval($t2))*1000);

}

第三种方法:14位年月日时分秒+3位毫秒数

/**

* 年月日、时分秒 + 3位毫秒数

* @param string $format

* @param null $utimestamp

* @return false|string

*/

public static function ts_time($format = 'u', $utimestamp = null) {

if (is_null($utimestamp)){

$utimestamp = microtime(true);

}

$timestamp = floor($utimestamp);

$milliseconds = round(($utimestamp - $timestamp) * 1000);

return date(preg_replace('`(?

}

3.获取客户端IP地址

function getClientIp() {

$realip = '';

$unknown = 'unknown';

if (isset($_SERVER)){

if(isset($_SERVER['HTTP_CDN_SRC_IP']) && !empty($_SERVER['HTTP_CDN_SRC_IP']) && strcasecmp($_SERVER['HTTP_CDN_SRC_IP'], $unknown)){

$realip = $_SERVER['HTTP_CDN_SRC_IP'];

}else if(isset($_SERVER['HTTP_X_FORWARDED_FOR']) && !empty($_SERVER['HTTP_X_FORWARDED_FOR']) && strcasecmp($_SERVER['HTTP_X_FORWARDED_FOR'], $unknown)){

$arr = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);

foreach($arr as $ip){

$ip = trim($ip);

if ($ip != 'unknown'){

$realip = $ip;

break;

}

}

}else if(isset($_SERVER['HTTP_CLIENT_IP']) && !empty($_SERVER['HTTP_CLIENT_IP']) && strcasecmp($_SERVER['HTTP_CLIENT_IP'], $unknown)){

$realip = $_SERVER['HTTP_CLIENT_IP'];

}else if(isset($_SERVER['REMOTE_ADDR']) && !empty($_SERVER['REMOTE_ADDR']) && strcasecmp($_SERVER['REMOTE_ADDR'], $unknown)){

$realip = $_SERVER['REMOTE_ADDR'];

}else{

$realip = $unknown;

}

}else{

if(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), $unknown)){

$realip = getenv("HTTP_X_FORWARDED_FOR");

}else if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), $unknown)){

$realip = getenv("HTTP_CLIENT_IP");

}else if(getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), $unknown)){

$realip = getenv("REMOTE_ADDR");

}else{

$realip = $unknown;

}

}

$realip = preg_match("/[\d\.]{7,15}/", $realip, $matches) ? $matches[0] : $unknown;

return $realip;

}

4.php 把对象转化为json

/**

* 对象转换数组

*/

function object_to_array($obj){

if(is_array($obj)){

return $obj;

}

$_arr = is_object($obj)? get_object_vars($obj) :$obj;

foreach ($_arr as $key => $val){

$val=(is_array($val)) || is_object($val) ? object_to_array($val) :$val;

$arr[$key] = $val;

}

return json_encode($arr);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值