字符串截取函数,批量上传类,邮件发送函数,友好时间函数
2017-02-18 21:27
531 查看
1. 字符串截取,支持中文和其他编码
2. 图片批量上传类
3. 邮件发送函数
4. 友好时间函数
打赏
文章来自:开创者素材的好文分享模块,转载请注明文章出处。
文章标题:字符串截取函数,批量上传类,邮件发送函数,友好时间函数
文章链接:http://www.kaicz.com/blog/3.html
/** * 字符串截取,支持中文和其他编码 * @static * @access public * @param string $str 需要转换的字符串 * @param string $start 开始位置 * @param string $length 截取长度 * @param string $charset 编码格式 * @param string $suffix 截断显示字符 * @return string */ function msubstr($str, $start=0, $length, $charset="utf-8", $suffix=true) { if(function_exists("mb_substr")) $slice = mb_substr($str, $start, $length, $charset); elseif(function_exists('iconv_substr')) { $slice = iconv_substr($str,$start,$length,$charset); if(false === $slice) { $slice = ''; } }else{ $re['utf-8'] = "/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xff][\x80-\xbf]{3}/"; $re['gb2312'] = "/[\x01-\x7f]|[\xb0-\xf7][\xa0-\xfe]/"; $re['gbk'] = "/[\x01-\x7f]|[\x81-\xfe][\x40-\xfe]/"; $re['big5'] = "/[\x01-\x7f]|[\x81-\xfe]([\x40-\x7e]|\xa1-\xfe])/"; preg_match_all($re[$charset], $str, $match); $slice = join("",array_slice($match[0], $start, $length)); } return $suffix ? $slice.'...' : $slice; }
2. 图片批量上传类
// +---------------------------------------------------------------------- // | 特殊备注 // +---------------------------------------------------------------------- namespace Member\Controller; use Think\Controller; class UploadController extends CommonController{ public function picture(){ $upload = new \Think\Upload();// 实例化上传类 $upload->maxSize = 3145728 ;// 设置附件上传大小 $upload->exts = array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型 $upload->savePath = '/Products/'; // 设置附件上传目录 // 上传文件 $info = $upload->upload(); if(!$info) {// 上传错误提示错误信息 $error=$upload->getError(); $data['error_info']=$error; echo json_encode($data); }else{// 上传成功 $user_id = cookie('user_id'); $time = time(); foreach($info as $file){ $data['name']='/Uploads'.trim($file['savepath'].$file['savename']); $imgData=[ 'user_id' => $user_id, 'file_id' => I('id'), 'title' => I('name'), 'mimetype' => I('type'), 'size' => I('size'), 'create_time' => $time, 'update_time' => $time, 'filepath' => $data['name'], 'type' => $file['saveExt'], ]; if ($imgData) $data['imgid']= M('Attachment')->add($imgData); echo json_encode($data); } } } }
3. 邮件发送函数
function send_mail($to, $title, $content) { try { Vendor('PHPMailer.PHPMailerAutoload'); $mail = new PHPMailer(); //实例化 $mail->IsSMTP(); // 启用SMTP $mail->Host=C('SMTP'); //smtp服务器的名称(这里以QQ邮箱为例) $mail->SMTPAuth = true; //启用smtp认证 $mail->Username = C('EMAIL'); //你的邮箱名 $mail->Password = C('PWD') ; //邮箱密码 $mail->From = C('EMAIL'); //发件人地址(也就是你的邮箱地址) $mail->FromName = '国际电子商务网'; //发件人姓名 $mail->AddAddress($to,"尊敬的用户"); $mail->WordWrap = 50; //设置每行字符长度 $mail->IsHTML(true); // 是否HTML格式邮件 $mail->CharSet='utf-8'; //设置邮件编码 $mail->Subject =$title; //邮件主题 $mail->Body = $content; //邮件内容 $mail->AltBody = "这是一个纯文本的身体在非营利的HTML电子邮件客户端"; //邮件正文不支持HTML的备用显示 return($mail->Send()); } catch (phpmailerException $e) { return "邮件发送失败:".$e->errorMessage(); } }
4. 友好时间函数
function friendlyDate($sTime,$type = 'normal',$alt = 'false') { if (!$sTime) return ''; $cTime = time();//cTime=当前时间 $dTime = $cTime - $sTime;//dTime=时间差 $dDay = intval(date("z",$cTime)) - intval(date("z",$sTime)); $dYear = intval(date("Y",$cTime)) - intval(date("Y",$sTime)); if($type=='normal'){ if( $dTime < 60 ){ if($dTime < 10){ return '刚刚'; //by yangjs }else{ return intval(floor($dTime / 10) * 10)."秒前"; } }elseif( $dTime < 3600 ){ return intval($dTime/60)."分钟前"; }elseif( $dYear==0 && $dDay == 0 ){ return '今天'.date('H:i',$sTime); }elseif($dYear==0){ return date("m月d日 H:i",$sTime); }else{ return date("Y-m-d H:i",$sTime); } }elseif($type=='mohu'){ if( $dTime < 60 ){ return $dTime."秒前"; }elseif( $dTime < 3600 ){ return intval($dTime/60)."分钟前"; }elseif( $dTime >= 3600 && $dDay == 0 ){ return intval($dTime/3600)."小时前"; }elseif( $dDay > 0 && $dDay<=7 ){ return intval($dDay)."天前"; }elseif( $dDay > 7 && $dDay <= 30 ){ return intval($dDay/7) . '周前'; }elseif( $dDay > 30 ){ return intval($dDay/30) . '个月前'; } //full: Y-m-d , H:i:s }elseif($type=='full'){ return date("Y-m-d , H:i:s",$sTime); }elseif($type=='ymd'){ return date("Y-m-d",$sTime); }else{ if( $dTime < 60 ){ return $dTime."秒前"; }elseif( $dTime < 3600 ){ return intval($dTime/60)."分钟前"; }elseif( $dTime >= 3600 && $dDay == 0 ){ return intval($dTime/3600)."小时前"; }elseif($dYear==0){ return date("Y-m-d H:i:s",$sTime); }else{ return date("Y-m-d H:i:s",$sTime); } } }
打赏
文章来自:开创者素材的好文分享模块,转载请注明文章出处。
文章标题:字符串截取函数,批量上传类,邮件发送函数,友好时间函数
文章链接:http://www.kaicz.com/blog/3.html
相关文章推荐
- SQL自定义函数实现字符串截取转化为整型(主要用于对批量数据的操作)
- 按时间取天和月的数据,和字符串截取函数
- ASP发送邮件函数(Jmail,cdonts,aspemail,WebEasymail)
- [函数]截取固定长的字符串(双字节的计2位)
- C#批量发送邮件程序
- C#自写函数-截取字符串某一长度并返回
- 截取字符串中任意一段字符的函数
- 高效的中文字符串截取函数(徐祖宁)
- Jmail组件发送邮件之绝对能用的函数
- 高效的中文字符串截取函数
- oracle中常用的字符串查找、替换以及截取函数的用法!
- 一个效率更高的全半角字符串截取函数 推荐
- java 面试中的一道编写一个截取字符串的函数!!!!
- PHP中的字符串截取函数,取子符串,以保证中文不出现乱码
- java 面试中的一道编写一个截取字符串的函数
- 高效的中文字符串截取函数
- C#批量发送邮件程序
- JAVA mail应用 - 用JAVA SWING写的邮件批量发送工具
- C#字符串截取 和其他函数
- 支持多种编码的中文字符串截取函数! AND 函数实现解压功能