最近公司开发项目用到thinkphp5框架,写了一些公共的方法调用,在这里写篇博客记下来,方便以后做项目用到thinkphp或者其他框架,也可以搬过去,改一下再用。
1、记录日志方法
/**
* [ 写入日志 -简约]
* @param array,string $log_content [内容]
* @param string $keyp [文件名]
* @return [type] [description]
*/
function pr_log($log_content, $keyp) {
//在runtime/log下生成以日期为名的文件
$log_filename = RUNTIME_PATH .'log'.DS .$keyp.DS.date("Ym").DS;
//判断是否是一个目录,如果不是就创建,并给读写权限
!is_dir($log_filename) && mkdir($log_filename, 0755, true);
if(is_array($log_content)){
$log_content = json_encode($log_content,JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES);
}
file_put_contents($log_filename.date("d").'.log', '['.date("Y-m-d H:i:s").']' .PHP_EOL . $log_content . PHP_EOL."------------------------ --------------------------".PHP_EOL, FILE_APPEND);
}
2、金额展示规则
/**
* 金额展示规则,超过1万时以万为单位,低于1万时以千为单位,低于1千时以元为单位
* @param string $money 金额
* @return string
* @author Michael_xu
*/
function money_view($money)
{
$data = '0元';
if (($money / 10000) > 1) {
$data = is_int($money / 10000) ? ($money / 10000) . '万' : rand(($money / 10000), 2) . '万';
} elseif (($money / 1000) > 1) {
$data = is_int($money / 1000) ? ($money / 1000) . '千' : rand(($money / 1000), 2) . '千';
} else {
$data = $money . '元';
}
return $data;
}
3、截取字符串
/**
* 截取字符串
* @param $start 开始截取位置
* @param $length 截取长度
* @return
* @author Michael_xu
*/
function msubstr($str, $start = 0, $length, $charset = "utf-8", $suffix = true)
{
if (func