asp发送短信功能怎么改成php的,有asp例子,求教

WBOY
发布: 2016-06-23 13:43:15
原创
947 人浏览过

If vercode > "" Thenemail = "接口短信的用户账号"SMS_PASSWORD = "接口短信的用户密码"DescURL = "http://www.xxxx.com.cn/api/send.asp"  //接口地址Set objHTTP = Server.CreateObject("MSXML2.XMLHTTP")Call objHTTP.Open("POST", DescURL, FALSE)PostData = "email="+email+"&Password="+SMS_PASSWORD+"&MsgContent="+((MsgContent))+"&mobileNumber="+ m +"&SendTime="+SendTime+"&SubNumber="+ SubNumber  //一些上边的变量拼接,有用户名,密码,发送手机号等Response.Write postdataCall objHTTP.SetRequestHeader("Content-Type","text/html; charset=uft-8")Call objHTTP.open("GET",DescURL & "?" & PostData, false)Call objHTTP.send()end if
登录后复制



这是asp的写法,有点别扭。 要换成php怎么写啊?先谢谢了!


回复讨论(解决方案)

用curl类似的

file_get_contents($url);

<?phpclass mycurl {     protected $_useragent = 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1';     protected $_url;     protected $_followlocation;     protected $_timeout;     protected $_maxRedirects;     protected $_cookieFileLocation = './cookie.txt';     protected $_post;     protected $_postFields;     protected $_referer ="http://www.xxxx.com.cn/api/send.asp";      protected $_session;     protected $_webpage;     protected $_includeHeader;     protected $_noBody;     protected $_status;     protected $_binaryTransfer;     public    $authentication = 0;     public    $auth_name      = '';     public    $auth_pass      = '';      public function useAuth($use){       $this->authentication = 0;       if($use == true) $this->authentication = 1;     }      public function setName($name){       $this->auth_name = $name;     }     public function setPass($pass){       $this->auth_pass = $pass;     }      public function __construct($url,$followlocation = true,$timeOut = 30,$maxRedirecs = 4,$binaryTransfer = false,$includeHeader = false,$noBody = false)     {         $this->_url = $url;         $this->_followlocation = $followlocation;         $this->_timeout = $timeOut;         $this->_maxRedirects = $maxRedirecs;         $this->_noBody = $noBody;         $this->_includeHeader = $includeHeader;         $this->_binaryTransfer = $binaryTransfer;          $this->_cookieFileLocation = dirname(__FILE__).'/cookie.txt';      }      public function setReferer($referer){       $this->_referer = $referer;     }      public function setCookiFileLocation($path)     {         $this->_cookieFileLocation = $path;     }      public function setPost ($postFields)     {        $this->_post = true;        $this->_postFields = $postFields;     }      public function setUserAgent($userAgent)     {         $this->_useragent = $userAgent;     }      public function createCurl($url = 'nul')     {        if($url != 'nul'){          $this->_url = $url;        }          $s = curl_init();          curl_setopt($s,CURLOPT_URL,$this->_url);         curl_setopt($s,CURLOPT_HTTPHEADER,array('Expect:'));         curl_setopt($s,CURLOPT_TIMEOUT,$this->_timeout);         curl_setopt($s,CURLOPT_MAXREDIRS,$this->_maxRedirects);         curl_setopt($s,CURLOPT_RETURNTRANSFER,true);         curl_setopt($s,CURLOPT_FOLLOWLOCATION,$this->_followlocation);         curl_setopt($s,CURLOPT_COOKIEJAR,$this->_cookieFileLocation);         curl_setopt($s,CURLOPT_COOKIEFILE,$this->_cookieFileLocation);          if($this->authentication == 1){           curl_setopt($s, CURLOPT_USERPWD, $this->auth_name.':'.$this->auth_pass);         }         if($this->_post)         {             curl_setopt($s,CURLOPT_POST,true);             curl_setopt($s,CURLOPT_POSTFIELDS,$this->_postFields);          }          if($this->_includeHeader)         {               curl_setopt($s,CURLOPT_HEADER,true);         }          if($this->_noBody)         {             curl_setopt($s,CURLOPT_NOBODY,true);         }         /*         if($this->_binary)         {             curl_setopt($s,CURLOPT_BINARYTRANSFER,true);         }         */         curl_setopt($s,CURLOPT_USERAGENT,$this->_useragent);         curl_setopt($s,CURLOPT_REFERER,$this->_referer);          $this->_webpage = curl_exec($s);                   $this->_status = curl_getinfo($s,CURLINFO_HTTP_CODE);         curl_close($s);      }    public function getHttpStatus()   {       return $this->_status;   }    public function __tostring(){      return $this->_webpage;   }} $m=new mycurl("http://www.xxxx.com.cn/api/send.asp"); //一些上边的变量拼接,有用户名,密码,发送手机号$m->setPost(Array("email"=> $email, "Password"=> $SMS_PASSWORD,"MsgContent"=> $MsgContent,"mobileNumber"=> $mobileNumber,"SendTime"=> $SendTime,"SubNumber"=> $SubNumber    ));$m->createCurl();?>
登录后复制

你看这样是否能用

登录后复制
登录后复制

你看这样是否能用




怎么调用啊? 小弟不才, 我用的CI框架,这个类,我怎么让他执行,谢谢!


登录后复制
登录后复制



调用send方法,在方法中包含进来你写的文件,把信息都填好了。出现

Fatal error: Call to undefined function curl_init() in D:\Program\wamp\www.huarenbeiphp2.com\application\controllers\mycurl.php on line 75

http://www.cmhello.com/enable-curl-of-wamp.html

函数里面定义类,初始化,这倒是也可以工作。

建议参考下 http://codeigniter.org.cn/user_guide/general/creating_libraries.html

Fatal error: Call to undefined function curl_init()
这个错误需要你把php.ini配置文件中的

;extension=php_curl.dll
登录后复制

前面的;去掉

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!