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

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

WBOY
WBOYasal
2016-07-06 13:28:311406semak imbas
跳至 [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); ?>
Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Redis 版 秒杀练习Artikel seterusnya:有样式的tips