<?php // 应用公共文件 if(!function_exists('encrypt_password')){ //定义密码加密函数 function encrypt_password($password){ //加盐方式 $salt = 'dsfdksl!lfdskdlm16sdfa';//自定义字符串 return md5( md5($password) . $salt ); } } if (!function_exists('remove_xss')) { //使用htmlpurifier防范xss攻击 function remove_xss($string){ //相对index.php入口文件,引入HTMLPurifier.auto.php核心文件 require_once './plugins/htmlpurifier/HTMLPurifier.auto.php'; // 生成配置对象 $cfg = HTMLPurifier_Config::createDefault(); // 以下就是配置: $cfg -> set('Core.Encoding', 'UTF-8'); // 设置允许使用的HTML标签 $cfg -> set('HTML.Allowed','div,b,strong,i,em,a[href|title],ul,ol,li,br,p[style],span[style],img[width|height|alt|src]'); // 设置允许出现的CSS样式属性 $cfg -> set('CSS.AllowedProperties', 'font,font-size,font-weight,font-style,font-family,text-decoration,padding-left,color,background-color,text-align'); // 设置a标签上是否允许使用target="_blank" $cfg -> set('HTML.TargetBlank', TRUE); // 使用配置生成过滤用的对象 $obj = new HTMLPurifier($cfg); // 过滤字符串 return $obj -> purify($string); } } if (!function_exists('getTree')) { //递归方法实现无限极分类 function getTree($list,$pid=0,$level=0) { static $tree = array(); foreach($list as $row) { if($row['pid']==$pid) { $row['level'] = $level; $tree[] = $row; getTree($list, $row['id'], $level + 1); } } return $tree; } } //无限极分类使用方法 就是传入一级分类即可 if(!function_exists('get_cate_tree')){ //引用方式实现 无限极分类树 function get_cate_tree($list){ //将每条数据中的id值作为其下标 $temp = []; foreach($list as $v){ $temp[$v['id']] = $v; } //获取分类树 foreach($temp as $k=>$v){ $temp[$v['pid']]['son'][$v['id']] = &$temp[$v['id']]; } return isset($temp[0]['son'])?$temp[0]['son']:[]; } } if(!function_exists('curl_request')){ //使用curl函数库发送请求 function curl_request($url, $post = false, $params = [], $https = false){ //①使用curl_init初始化请求会话 $ch = curl_init($url); //②使用curl_setopt设置请求一些选项 if($post){ //设置请求方式、请求参数 curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $params); } if($https){ //https协议,禁止curl从服务器端验证本地证书 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); } //③使用curl_exec执行,发送请求 //设置 让curl_exec 直接返回接口的结果数据 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $res = curl_exec($ch); //④使用curl_close关闭请求会话 curl_close($ch); return $res; } } if(!function_exists('sendmsg')){ //发送短信 function sendmsg($phone, $msg) { //获取接口地址 $gateway = config('msg.gateway'); $appkey = config('msg.appkey'); //拼接url 发送get请求 $url = $gateway . '?appkey=' . $appkey . '&mobile=' . $phone . '&content=' . $msg; //发送请求 $res = curl_request($url, false, [], true); //解析返回结果 if(!$res){ return '服务器异常,请求发送失败'; } $arr = json_decode($res, true); if(isset($arr['code']) && $arr['code'] == 10000){ //短信发送成功 return true; }else{ return $arr['msg']; // return '短信发送失败'; } } } if(!function_exists('sendmail')){ //使用PHPMailer发送邮件 function sendmail($email, $subject, $body) { $mail = new \PHPMailer\PHPMailer\PHPMailer(); //传参数true,表示使用异常处理机制 //Server settings // $mail->SMTPDebug = 2; // 调试信息 $mail->isSMTP(); // 设置使用SMTP协议(服务) $mail->Host = config('email.host'); // 邮件服务器地址 $mail->SMTPAuth = true; // 开启SMTP认证 $mail->Username = config('email.username'); // 邮箱用户名 $mail->Password = config('email.password'); // 授权码 $mail->SMTPSecure = 'tls'; // 加密方式 tls ssl $mail->Port = 25; // 发送邮件端口 $mail->CharSet = 'UTF-8'; //Recipients $mail->setFrom(config('email.username')); //发件人,第二个参数可选,表示昵称 $mail->addAddress($email); // 收件人,第二个参数可选,表示昵称 // $mail->addReplyTo('info@example.com', 'Information'); //回复人 // $mail->addCC('cc@example.com'); //抄送人 // $mail->addBCC('bcc@example.com'); //密送人 //Attachments // $mail->addAttachment('/var/tmp/file.tar.gz'); // 添加附件 // $mail->addAttachment('/tmp/image.jpg', 'new.jpg'); // Optional name //Content $mail->isHTML(true); // 邮件内容是html格式 $mail->Subject = $subject; //邮件主题 $mail->Body = $body; //邮件内容 // $mail->AltBody = 'This is the body in plain text for non-HTML mail clients';//纯文本内容 if(!$mail->send()){ //发送失败 return $mail->ErrorInfo; } //发送成功 return true; } } if(!function_exists('encrypt_phone')){ //加密手机号 13112345678 -》 131****5678 function encrypt_phone($phone) { return substr($phone, 0, 3) . '****' . substr($phone, 7); } }
函数
最新推荐文章于 2023-04-06 21:17:32 发布