搞了个简单群呼系统(asterisk+PHP)
弄了个简单群呼系统(asterisk+PHP)
先说下从 excel 中导入号码到数据库中去,然后从数据库中读取这些号码生成呼叫文件,进行呼叫即可
?
?? ? ? ? ? ? ? ? ? ? ? ? ? ? ???? ??
?
?? 源码如下:(注:操作excel的读取文件就没写上来)
<?php /* 首先得把 文件上传的服务器中相应的位置,然后从该文件中读取号码到数据库中! 接着从数据库中读取这些号码,生成。call 文件 到 var/..out. 目录下 就可以呼叫了 */ // 文件上传......................................................................................................... if(is_uploaded_file($_FILES['upfile']['tmp_name'])){ //判断有新文件上传 $upfile=$_FILES["upfile"]; //上传文件的函数 $name = $upfile["name"]; // 获取文件名称 $type = $upfile["type"]; //文件类型 $size = $upfile["size"]; //文件大小 $tmp_name = $upfile["tmp_name"]; //临时文件位置 $error = $upfile["error"]; // 判断文件是否成功的参数,0代表成功,。。。 // 允许上传的文件类型 switch ($type) { case 'application/vnd.ms-excel' : $ok=1; //只允许上传excel文件类型 break; } //判断是否成功 if($ok && $error=='0') { move_uploaded_file($tmp_name,'xls/'.'tel.xls'); //把上传的临时文件放到xls下 //读取上传后文件中的内容......................................... require_once 'reader.php'; //引入读取csv文件类 $data = new Spreadsheet_Excel_Reader(); $data->setOutputEncoding('utf-8'); $conn= mysql_connect('localhost','root','888888') or die("数据库连接失败"); mysql_query("set names 'utf-8'");//设置编码输出 mysql_select_db('asterisk'); //选择数据库 $data->read('xls/tel.xls'); for ($i = 2; $i <= $data->sheets[0]['numRows']; $i++) { $sql = "INSERT INTO tel VALUES(null,'".$data->sheets[0]['cells'][$i][1]."',0)"; $query=mysql_query($sql); if($query) { } } }else { echo "<mce:script type="text/javascript"><!-- alert('上传失败,请检查文件格式!');window.top.location='file.php' // --></mce:script>"; } } //.................................................................................................................end //........从数据库中读取号码生成一个一个的.call呼叫文件............................................................................ if(isset($_POST['liji_tel'])) //立即呼叫。。这里还得完成流程呼叫完毕后。删除呼叫的号码 { $con= mysql_connect('localhost','root','888888') or die("数据库连接失败"); mysql_query("set names 'utf-8'");//设置编码输出 mysql_select_db('asterisk'); //选择数据 $result=mysql_query("select * from tel where s_id=0"); while($rows=mysql_fetch_row($result)) { $filename="$rows[1].call"; fopen($filename,"w+"); $somecontent_8001="channel: SIP/$rows[1]"."/n"."callerid: <haozi>"."/n"."MaxRetries: 2"."/n"."Context: default"."/n"."RetryTime: 10"."/n"."WaitTime: 10"."/n"."Extension: _x."."/n"."setvar: id=$rows[0]"."/n"; if (is_writable($filename)) { if (!$handle = fopen($filename, 'a')) { exit;} if (fwrite($handle, $somecontent_8001)=== FALSE) {exit;}fclose($handle); $kk="mv ".$filename." /var/spool/asterisk/outgoing/"; system($kk,$restult);}} echo "<mce:script type="text/javascript"><!-- alert('已启用群呼!');window.top.location='file.php' // --></mce:script>"; } //..............end ............................................................................................................ ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text ml; charset=utf-8"> </head> <body> 电话群呼(text): <form action="" enctype="multipart/form-data" method="post" name="upform"> <div align="center"> <table width="634" border="1"> <tr> <td>选择要上传的号码文件:</td> <td>上传文件: <input name="upfile" type="file" /></td> </tr> <tr> <td width="230"><label> <input name="liji_tel" type="radio" value="1" checked="checked" />立即呼叫 </label></td> <td width="388"><input name="submit" type="submit" value="执行" /></td> </tr> </table> <br> </div> </form> </body> </html>

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

MySQL适合初学者使用,因为它安装简单、功能强大且易于管理数据。1.安装和配置简单,适用于多种操作系统。2.支持基本操作如创建数据库和表、插入、查询、更新和删除数据。3.提供高级功能如JOIN操作和子查询。4.可以通过索引、查询优化和分表分区来提升性能。5.支持备份、恢复和安全措施,确保数据的安全和一致性。

Navicat本身不存储数据库密码,只能找回加密后的密码。解决办法:1. 检查密码管理器;2. 检查Navicat的“记住密码”功能;3. 重置数据库密码;4. 联系数据库管理员。

使用 Navicat Premium 创建数据库:连接到数据库服务器并输入连接参数。右键单击服务器并选择“创建数据库”。输入新数据库的名称和指定字符集和排序规则。连接到新数据库并在“对象浏览器”中创建表。右键单击表并选择“插入数据”来插入数据。

MySQL是一个开源的关系型数据库管理系统。1)创建数据库和表:使用CREATEDATABASE和CREATETABLE命令。2)基本操作:INSERT、UPDATE、DELETE和SELECT。3)高级操作:JOIN、子查询和事务处理。4)调试技巧:检查语法、数据类型和权限。5)优化建议:使用索引、避免SELECT*和使用事务。

Navicat for MariaDB 无法直接查看数据库密码,因为密码以加密形式存储。为确保数据库安全,有三个方法可重置密码:通过 Navicat 重置密码,设置复杂密码。查看配置文件(不推荐,风险高)。使用系统命令行工具(不推荐,需要对命令行工具精通)。

在 Navicat 中执行 SQL 的步骤:连接到数据库。创建 SQL 编辑器窗口。编写 SQL 查询或脚本。单击“运行”按钮执行查询或脚本。查看结果(如果执行查询的话)。

可在 Navicat 中通过以下步骤新建 MySQL 连接:打开应用程序并选择“新建连接”(Ctrl N)。选择“MySQL”作为连接类型。输入主机名/IP 地址、端口、用户名和密码。(可选)配置高级选项。保存连接并输入连接名称。

MySQL和SQL是开发者必备技能。1.MySQL是开源的关系型数据库管理系统,SQL是用于管理和操作数据库的标准语言。2.MySQL通过高效的数据存储和检索功能支持多种存储引擎,SQL通过简单语句完成复杂数据操作。3.使用示例包括基本查询和高级查询,如按条件过滤和排序。4.常见错误包括语法错误和性能问题,可通过检查SQL语句和使用EXPLAIN命令优化。5.性能优化技巧包括使用索引、避免全表扫描、优化JOIN操作和提升代码可读性。
