您的位置:首页 > 编程语言 > PHP开发

php封装的工具函数

2018-01-11 10:27 302 查看

1.将数字变成中文输出

function toChinaseNum( $num)
{
$char = array( "零", "一", "二", "三", "四", "五", "六", "七", "八", "九");
$dw = array( "", "十", "百", "千", "万", "亿", "兆");
$retval = "";
$proZero = false;
for( $i = 0; $i < strlen( $num); $i++) {
if( $i > 0) $temp = (int)(( $num % pow ( 10, $i+1)) / pow ( 10, $i));
else $temp = (int)( $num % pow ( 10, 1));
if( $proZero == true && $temp == 0) continue;
if( $temp == 0) $proZero = true;
else $proZero = false;
if( $proZero)
{
if( $retval == "") continue;
$retval  = $char[$temp].$retval;
}
else $retval = $char[$temp].$dw[$i].$retval;
}
if( $retval == "一十") $retval = "十";
return $retval;
}

2.获取传入时间距离现在的时间

public static function getTimeStampStr($create_time) {

$time_difference = time() - $create_time;

if ($time_difference <= 300) {
return "刚刚";

} else if ($time_difference < 3600) {
return floor($time_difference/60) . "分钟前";

} else if ($time_difference < 86400) {
return floor($time_difference/3600) . "小时前";

} else if ($time_difference < 30 * 86400) {
return floor($time_difference/86400) . "天前";

} else if ($time_difference < 365 * 86400) {
return floor($time_difference/(30 * 86400)) . "个月前";

} else {
return floor($time_difference/(365 * 86400)) . "年前";
}
}


3.过滤输入的特殊字符

public static function fliterSpecialChar($content){
if (!empty($content)) {
$content = str_replace("\"", "*", $content);
//去掉特殊字符
$regex = "/\/|\~|\!|\@|\#|\\$|\%|\^|\&|\(|\)|\+|\{|\}|\:|\<|\>|\?|\[|\]|\,|\.|\/|\;|\'|\`|\-|\=|\\\|\|/";

$content = preg_replace($regex,"*",$content);

if (empty($content)) {
throw new Exception_Msg(102001, "输入不合法,请重新输入");
}
}
return $content;
}

4.linux中写入日志函数

/**
* 记录日志
*
* @param string $file 文件位置/名字
* @param string $content 写入的内容
* @param boolean $logTime 是否在写入内容前加上时间
* @return mixed
* ###
*   注意: 要注意文件的权限问题 文件的权限必须跟php nginx的一致
*   例如php 和 nginx 的用户是 www
*   那么文件权限应该是  -rw-r--r-- 1 www www 1337 1月  25 14:48 writelog.php
* ###
*/
function writelog($file, $content, $logTime = true){
//写入的根目录
$basedir = '/data/dynamic/www/commonfunc';
//拼接写入目录(加上日期)
$file = $basedir . '/runtime/' . date('Y/md/') . $file . '.log';
//获取文件的目录部分
$dir = dirname($file);
if (!is_dir($dir)) {
//递归创建不存在的文件并修改权限
mkdir($dir, 0777, true);
chmod($dir, 0777);
}
if(is_array($content)){
$content = json_encode($content);
}
//判断是否在存入文件的内容前加上日期
if ($logTime) {
$content = '[' . date('Y-m-d H:i:s') . ']' . $content . "\n";
} else {
$content = $content . "\n";
}
//在文件后追加写入
return file_put_contents($file, $content, FILE_APPEND);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: