搜尋
首頁後端開發php教程 搞了个简单群呼系统(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>
?
陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
华为GT3 Pro和GT4的差异是什么?华为GT3 Pro和GT4的差异是什么?Dec 29, 2023 pm 02:27 PM

许多用户在选择智能手表的时候都会选择的华为的品牌,其中华为GT3pro和GT4都是非常热门的选择,不少用户都很好奇华为GT3pro和GT4有什么区别,下面就就给大家介绍一下二者。华为GT3pro和GT4有什么区别一、外观GT4:46mm和41mm,材质是玻璃表镜+不锈钢机身+高分纤维后壳。GT3pro:46.6mm和42.9mm,材质是蓝宝石玻璃表镜+钛金属机身/陶瓷机身+陶瓷后壳二、健康GT4:采用最新的华为Truseen5.5+算法,结果会更加的精准。GT3pro:多了ECG心电图和血管及安

修复:截图工具在 Windows 11 中不起作用修复:截图工具在 Windows 11 中不起作用Aug 24, 2023 am 09:48 AM

为什么截图工具在Windows11上不起作用了解问题的根本原因有助于找到正确的解决方案。以下是截图工具可能无法正常工作的主要原因:对焦助手已打开:这可以防止截图工具打开。应用程序损坏:如果截图工具在启动时崩溃,则可能已损坏。过时的图形驱动程序:不兼容的驱动程序可能会干扰截图工具。来自其他应用程序的干扰:其他正在运行的应用程序可能与截图工具冲突。证书已过期:升级过程中的错误可能会导致此issu简单的解决方案这些适合大多数用户,不需要任何特殊的技术知识。1.更新窗口和Microsoft应用商店应用程

mysql怎么替换换行符mysql怎么替换换行符Apr 18, 2022 pm 03:14 PM

在mysql中,可以利用char()和REPLACE()函数来替换换行符;REPLACE()函数可以用新字符串替换列中的换行符,而换行符可使用“char(13)”来表示,语法为“replace(字段名,char(13),'新字符串') ”。

mysql怎么将varchar转换为int类型mysql怎么将varchar转换为int类型May 12, 2022 pm 04:51 PM

转换方法:1、利用cast函数,语法“select * from 表名 order by cast(字段名 as SIGNED)”;2、利用“select * from 表名 order by CONVERT(字段名,SIGNED)”语句。

如何修复无法连接到iPhone上的App Store错误如何修复无法连接到iPhone上的App Store错误Jul 29, 2023 am 08:22 AM

第1部分:初始故障排除步骤检查苹果的系统状态:在深入研究复杂的解决方案之前,让我们从基础知识开始。问题可能不在于您的设备;苹果的服务器可能会关闭。访问Apple的系统状态页面,查看AppStore是否正常工作。如果有问题,您所能做的就是等待Apple修复它。检查您的互联网连接:确保您拥有稳定的互联网连接,因为“无法连接到AppStore”问题有时可归因于连接不良。尝试在Wi-Fi和移动数据之间切换或重置网络设置(“常规”>“重置”>“重置网络设置”>设置)。更新您的iOS版本:

MySQL复制技术之异步复制和半同步复制MySQL复制技术之异步复制和半同步复制Apr 25, 2022 pm 07:21 PM

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于MySQL复制技术的相关问题,包括了异步复制、半同步复制等等内容,下面一起来看一下,希望对大家有帮助。

带你把MySQL索引吃透了带你把MySQL索引吃透了Apr 22, 2022 am 11:48 AM

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了mysql高级篇的一些问题,包括了索引是什么、索引底层实现等等问题,下面一起来看一下,希望对大家有帮助。

mysql怎么判断是否是数字类型mysql怎么判断是否是数字类型May 16, 2022 am 10:09 AM

在mysql中,可以利用REGEXP运算符判断数据是否是数字类型,语法为“String REGEXP '[^0-9.]'”;该运算符是正则表达式的缩写,若数据字符中含有数字时,返回的结果是true,反之返回的结果是false。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前By尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能