Home  >  Article  >  php教程  >  php+phpexcel+uploaddify批量导入EXCEL平台注册用户数据批量发短信2

php+phpexcel+uploaddify批量导入EXCEL平台注册用户数据批量发短信2

WBOY
WBOYOriginal
2016-07-06 13:28:311406browse
跳至 [1] [全屏预览]
<?php
session_start();
header("Content-Type:text/html;charset=utf-8");

$dir = $_POST['exceldir'];
/** PHPExcel_IOFactory */
require_once 'PHPExcel.php';

if (!file_exists("$dir")) {
    exit("没有发现excel文件!");
}



//获取扩展名
function getExtension($filename)
{
    $myext = substr($filename, strrpos($filename, '.'));
    return str_replace('.', '', $myext);
}

$excel_ext = getExtension($dir);

if ($excel_ext == "xlsx") {
    $reader = PHPExcel_IOFactory::createReader('Excel2007');  //设置以Excel7格式(Excel97-2007工作簿)
} else {
    $reader = PHPExcel_IOFactory::createReader('Excel5');   //设置以Excel5格式(Excel97-2003工作簿)
}


$PHPExcel = $reader->load("$dir"); // 载入excel文件
$sheet = $PHPExcel->getSheet(0); // 读取第一個工作表
$highestRow = $sheet->getHighestRow(); // 取得总行数
$highestColumm = $sheet->getHighestColumn(); // 取得总列数


//1.导入配置文件
//require("conf/dbconfig.php");

//2.连接MySQL、并选择数据库
//$link = @mysql_connect(HOST, USER, PASS) or die("数据库连接失败!");

//mysql_select_db(DBNAME, $link);

for ($j = 2; $j <= $highestRow; $j++) {
    $telephone = $PHPExcel->getActiveSheet()->getCell("E" . $j)->getValue();//获取B列的值

    //过滤不正确的手机号
    if (preg_match("/^1[34578]\d{9}$/", $telephone)) {

        $tel[] = $telephone;


    } else {

        $filter[] = $telephone;
    }


}

//分割数组为字符串

//组装成字符串
$mess = implode(",", $tel);
//成功统计
$cgsum = count($tel);
//失败统计
$sbsum = count($filter);

//sizeof():和count()具有同样的用途,这两个函数都可以返回数组元素个数.
//可以得到一个常规标量变量中的元素个数,如果传递给这个函数的数组是一个空数组,或者是一个没有经过设定的变量,返回的数组元素个数就是0;


//----------------------------------------


include_once("sendsdk.php");

//主帐号,对应开官网发者主账号下的 ACCOUNT SID
$accountSid = '';

//主帐号令牌,对应官网开发者主账号下的 AUTH TOKEN
$accountToken = '';

//应用Id,在官网应用列表中点击应用,对应应用详情中的APP ID
//在开发调试的时候,可以使用官网自动为您分配的测试Demo的APP ID
$appId = '';

//请求地址
//沙盒环境(用于应用开发调试):sandboxapp.cloopen.com
//生产环境(用户应用上线使用):app.cloopen.com
$serverIP = 'app.cloopen.com';


//请求端口,生产环境和沙盒环境一致
$serverPort = '8883';

//REST版本号,在官网文档REST介绍中获得。
$softVersion = '2013-12-26';


/**
 * 发送模板短信
 * @param to 手机号码集合,用英文逗号分开
 * @param datas 内容数据 格式为数组 例如:array('Marry','Alon'),如不需替换请填 null
 * @param $tempId 模板Id,测试应用和未上线应用使用测试模板请填写1,正式应用上线后填写已申请审核通过的模板ID
 */
function sendTemplateSMS($to, $datas, $tempId)
{
    // 初始化REST SDK
    //新增全局变量:$cgsum,$sbsum,$filter,$tel
    global $accountSid, $accountToken, $appId, $serverIP, $serverPort, $softVersion,$cgsum,$sbsum,$filter,$tel;
    $rest = new REST($serverIP, $serverPort, $softVersion);
    $rest->setAccount($accountSid, $accountToken);
    $rest->setAppId($appId);

    // 发送模板短信
    // echo "Sending TemplateSMS to $to <br/>";
    $result = $rest->sendTemplateSMS($to, $datas, $tempId);
    if ($result == NULL) {
        echo "result error!";
        break;
    }
    if ($result->statusCode != 0) {

         echo "错误代码 :" . $result->statusCode . "<br>";
        $messerr = "发送失败," . $result->statusMsg;
        //TODO 添加错误处理逻辑
        echo "<h3>$messerr</h3>";


    } else {
        // echo "Sendind TemplateSMS success!<br/>";
        // 获取返回信息
        // $smsmessage = $result->TemplateSMS;
        // echo "dateCreated:".$smsmessage->dateCreated."<br/>";
        // echo "smsMessageSid:".$smsmessage->smsMessageSid."<br/>";
        //TODO 添加成功处理逻辑

        echo "<h3>总共<i style='color: #ff291a'>{$sbsum}条</i>短信发送失败!可能原因如下:</h3>";
        echo "<pre class="brush:php;toolbar:false">";
        print_r($filter);
        echo "
"; echo "

总共{$cgsum}条短信发送成功!以下为发送成功的手机号码列表:

"; echo "
";
        print_r($tel);
        echo "
"; } } //Demo调用 //**************************************举例说明*********************************************************************** //*假设您用测试Demo的APP ID,则需使用默认模板ID 1,发送手机号是13800000000,传入参数为6532和5,则调用方式为 * //*result = sendTemplateSMS("13800000000" ,array('6532','5'),"1"); * //*则13800000000手机号收到的短信内容是:【云通讯】您使用的是云通讯短信模板,您的验证码是6532,请于5分钟内正确输入 * //********************************************************************************************************************* //2016-6-24新增 $hjs = "韩教授创立"; $kskc = "从初中到高中各年级、各科暑期免费名师"; $url = "http://4g.91xiaoyu.com。用您的手机号"; $mm = "666666"; //2016-6-24新增 sendTemplateSMS("$mess", array("$hjs", "$kskc", "$url", "$mm"), "45665"); //-------------------------------------------- //释放工作表对象 unset($sheet); //释放Excel文件对象 unset($PHPExcel); //返回数据 //删除文件 unlink($dir); ?>
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:Redis 版 秒杀练习Next article:有样式的tips