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); }
相关文章推荐
- php 封装函数 多种情况下 自动获取用户ip
- PHP单文件上传原理及上传函数的封装
- php显示所有文件封装函数
- 关于php thinkphp多图封装的实用函数,贴出来,请指教
- PHP常用函数封装
- php 重要工具函数
- php编程时,什么时候需要封装函数,什么时候需要封装类
- PHP几个工具函数
- PHP封装curl的调用接口及常用函数详解
- php 关于文件的一些封装好的函数
- PHP封装分页函数实现文本分页和数字分页
- 简单文件上传函数的封装(PHP)
- 给老白写的一个工具函数 PHP打印匹配行
- Ajax工具函数封装
- PHP封装的svn类使用内置svn函数实现根据svn版本号导出相关文件示例
- php 关于文件夹的一些封装好的函数
- PHP单文件上传(含封装函数)
- PHP fsockopen介绍及fsockopen封装函数实现模拟GET或POST请求
- php封装的数据库函数与用法示例【参考thinkPHP】
- php单文件上传函数封装