如何使用PHP Excel和Uploadify批量导入Excel平台注册用户数据并发送短信?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1047个文字,预计阅读时间需要5分钟。
使用PHP、PHPExcel和Uploadify批量导入EXCEL平台注册用户数据,步骤如下:
1. [代码][PHP]代码示例:phpsession_start();header('Content-Type:text/;charset=utf-8');$dir=$_POST['exceldir'];
// PHPExcel_IOFactory
php+phpexcel+uploaddify批量导入EXCEL平台注册用户数据批量发短信2,还在完善中1.[代码][PHP]代码
<?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>"; print_r($filter); echo "</pre>"; echo "<h3>总共<i style='color: #ff291a'>{$cgsum}条</i>短信发送成功!以下为发送成功的手机号码列表:</h3>"; echo "<pre>"; print_r($tel); echo "</pre>"; } } //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 = "4g.91xiaoyu.com。用您的手机号"; $mm = "666666"; //2016-6-24新增 sendTemplateSMS("$mess", array("$hjs", "$kskc", "$url", "$mm"), "45665"); //-------------------------------------------- //释放工作表对象 unset($sheet); //释放Excel文件对象 unset($PHPExcel); //返回数据 //删除文件 unlink($dir); ?>
本文共计1047个文字,预计阅读时间需要5分钟。
使用PHP、PHPExcel和Uploadify批量导入EXCEL平台注册用户数据,步骤如下:
1. [代码][PHP]代码示例:phpsession_start();header('Content-Type:text/;charset=utf-8');$dir=$_POST['exceldir'];
// PHPExcel_IOFactory
php+phpexcel+uploaddify批量导入EXCEL平台注册用户数据批量发短信2,还在完善中1.[代码][PHP]代码
<?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>"; print_r($filter); echo "</pre>"; echo "<h3>总共<i style='color: #ff291a'>{$cgsum}条</i>短信发送成功!以下为发送成功的手机号码列表:</h3>"; echo "<pre>"; print_r($tel); echo "</pre>"; } } //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 = "4g.91xiaoyu.com。用您的手机号"; $mm = "666666"; //2016-6-24新增 sendTemplateSMS("$mess", array("$hjs", "$kskc", "$url", "$mm"), "45665"); //-------------------------------------------- //释放工作表对象 unset($sheet); //释放Excel文件对象 unset($PHPExcel); //返回数据 //删除文件 unlink($dir); ?>

