zoukankan      html  css  js  c++  java
  • PHP导入excel发送网易云信短信

    前端HTML代码:

      1 <!DOCTYPE html>
      2 <html lang="en">
      3 <head>
      4     <meta charset="UTF-8"/>
      5     <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
      6     <title>发送模版短信</title>
      7     <bootstrapcss/>
      8     <webuploadercss/>
      9     <icheckcss/>
     10 </head>
     11 <body>
     12 <div class="bjy-admin-nav">
     13     <i class="fa fa-home"></i> 首页 &gt; 短信发送 &gt; 发送模版短信
     14 </div>
     15 <ul id="myTab" class="nav nav-tabs">
     16     <li class="active">
     17         <a href="#">发送模版短信</a>
     18     </li>
     19 
     20 </ul>
     21 <form action=""  method="post">
     22     <table class="table table-striped table-bordered table-hover table-condensed">
     23 
     24         <tr>
     25             <th width="15%">上传导入号码</th>
     26             <td>
     27                 <div style=" 50%;float: left">
     28                 <textarea class="form-control" id="scan" cols="60" rows="10" readonly></textarea>
     29                 <div id="uploader" class="wu-example">
     30                     <!--用来存放文件信息-->
     31                     <div id="thelist" name="fileName" class="uploader-list">
     32                     </div>
     33                     <div class="btns">
     34                         <div id="picker">选择文件</div>
     35                     </div>
     36                 </div>
     37                 </div>
     38             </td>
     39         </tr>
     40         <tr>
     41             <th>模版内容</th>
     42             <td>
     43                 <textarea class="form-control" rows="5" cols="40"  id="text" name="content" readonly>{$templateInfo['content']}</textarea>
     44             </td>
     45         </tr>
     46         <tr>
     47             <th>注意事项</th>
     48             <td>
     49                 云信短信计费包括短信签名,70字计1条短信费,超过70字则以67字每条计费,当短信中出现中文字符,则单个汉字、英文、标点和空格等都算一个字。<br>
     50                 创建说明:<br>
     51 
     52                 1、网易云信提供的模板短信由固定内容与多个变量构成,其中 " %s " 为需要接口替换的变量,变量内容可以是汉字、字母、数字或者特殊字符组合,但单个变量内容长度不得超过30个字,一条模板短信中变量数量不限制,短信模板总字数限制300字内;<br>
     53 
     54                 2、"【云短信】"为云信系统默认提供的短信模板签名,在设置短信模板内容中不需要再填写短信签名。
     55             </td>
     56         </tr>
     57         <input class="form-control" type="hidden" name="templateId" value="{$templateInfo['templateId']}">
     58         <input class="form-control" type="hidden" name="title" value="{$templateInfo['title']}">
     59         <input type="hidden" name="fileurl" value="" id="fileurl">
     60         <tr>
     61             <th></th>
     62             <td>
     63                 <input class="btn btn-success" type="submit" value="发送">
     64             </td>
     65         </tr>
     66     </table>
     67 
     68     <!--<webuploader name="image" url="{:U('Home/Index/ajax_upload')}" word="或将照片拖到这里,单次最多可选300张"/>-->
     69 </form>
     70 <bootstrapjs/>
     71 <webuploaderjs/>
     72 <script type="text/javascript" >
     73     /* 文件上传 */
     74     var $list = $("#thelist");
     75     var l = new Array();
     76     var uploader = WebUploader.create({
     77         // 选完文件后,是否自动上传。
     78         auto : true,
     79         // 文件接收服务端。
     80         server : '{:U("Home/Index/ajax_upload_excel")}',
     81         // 选择文件的按钮。可选。
     82         // 内部根据当前运行是创建,可能是input元素,也可能是flash.
     83         pick : '#picker',
     84         // 不压缩, 默认如果是jpeg,文件上传前会压缩一把再上传!
     85         resize : false,
     86         // 指定上传的模块
     87         formData : {
     88             "model" : "counsel"
     89         }
     90     });
     91 
     92     // 当有文件被添加进队列的时候
     93     uploader.on('fileQueued', function(file) {
     94         $list.append('<div id="' + file.id + '" class="item">'
     95             + '<h4 class="info">' + file.name + '</h4>'
     96             + '<p class="state">等待上传...</p>' + '</div>');
     97     });
     98 
     99     //response是可以接收从后台传回的数据
    100     uploader.on('uploadSuccess', function(file, response) {
    101         var fileurl=response.name;
    102         console.log(response.receive);
    103         var json = response;
    104         json = eval(json.receive)
    105         var ele = document.getElementById("scan");
    106         document.getElementById("scan").value="";
    107         document.getElementById("fileurl").value='';
    108         document.getElementById("fileurl").value=fileurl;
    109         for(var i=0; i<json.length; i++)
    110         {
    111             var rec=json[i].join(",");
    112             ele.value = ele.value +rec+"
    ";
    113         }
    114         $('#' + file.id).find('p.state').text('已上传');
    115 
    116     });
    117 
    118     uploader.on('uploadError', function(file) {
    119         $('#' + file.id).find('p.state').text('上传出错');
    120     });
    121 
    122 
    123     uploader.on('uploadComplete', function(file) {
    124         $('#' + file.id).find('.progress').fadeOut();
    125     });
    126 
    127 
    128 </script>
    129 <icheckjs color="blue"/>
    130 </body>
    131 </html>
    View Code

    后端代码:

     1     /**
     2      * 发送短信
     3      */
     4     public function sendtemplatesms(){
     5         if(IS_POST){
     6 
     7                 //返回成功信息
     8                $fileurl=I('post.fileurl');
     9 
    10                $result=import_excel('.'.$fileurl);
    11                foreach ($result as $k=>$v){
    12                    $msg['time']=time();
    13                    $msg['admin']=$_SESSION['user']['username'];
    14                    $msg['templateId']=I('post.templateId');
    15                    $msg['receiver']=$v['0'];
    16                    //组合参数
    17                    $par=$v;
    18                    array_shift($par). "
    ";
    19                    $params=$par;
    20                    $resultmsg=yx_sendsms($msg['templateId'],$mobile=array($v['0']),$params);  //发送短信
    21 
    22                    $msg['status']=$resultmsg['code'];
    23                    $msg['sendId']=$resultmsg['obj'];
    24                    $content = I('post.content');
    25                    $arr = $par;
    26                    // 分开
    27                    $s = explode('%s', $content);
    28                    $c = count($s);
    29                    // 组合(提交的参数代替s%)
    30                    $content = '';
    31                    for ($i = 0; $i < $c; ++$i)
    32                    {
    33                        $content .= $s[$i].(isset($arr[$i])?$arr[$i]:'');
    34                    }
    35                    $msg['content']=$content;
    36                    M('msgrecord')->add($msg);  //发送记录存入数据库
    37                }
    38                 $this->success('发送完成',U('Admin/Sendsms/msgrecord'));
    39             }else{
    40             $id=I('get.id');
    41             if($id){
    42                 $templateInfo=M('msgtemplate')->where(array('id'=>$id))->find();
    43             }else{
    44                 $this->error('参数错误');
    45             }
    46             $this->assign('templateInfo',$templateInfo);
    47             $this->display();
    48         }
    49     }
    View Code

    excel:

     第一列是手机号,后面几列对应的是参数

    大家有问题可以随时留言

  • 相关阅读:
    2019年8月7日 封装 7夕快乐
    2019年8月4日 多态 苗苗苗苗苗
    2019年7月31日 选课系统
    字符串类型的输入输出
    getline()函数的使用
    出栈序列统计
    因式分解
    质数
    多项式求和
    回文数字
  • 原文地址:https://www.cnblogs.com/wang-yang/p/7427684.html
Copyright © 2011-2022 走看看