跳至
[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 "
Nach dem Login kopieren
";
echo "
总共{$cgsum}条短信发送成功!以下为发送成功的手机号码列表:
";
echo "
";
print_r($tel);
echo "
Nach dem Login kopieren
";
}
}
//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);
?>