方维p2p 后台验证码验证码错误有解决吗

需求发布后1小时内收到服务商响应每个需求平均有10个服务商参与95%以上的需求得到了圆满解决所有需求不向雇主收取任何佣金1元做营销
解决方维后台登录验证码错误问题
有相似问题想解决?专业顾问来帮助您
匹配服务商
选择服务商,签单
服务商工作
验收并付款
已投标服务商
综合评分:5颗星
速度:5.00
服务:5.00
态度:5.00
好评率:100%
共有2个服务商参与报价,查看更多服务商报价
参与报价,开始赚钱
提交你的报价和方案
中标后交付作品
获得任务赏金
极速:10分钟急速响应
高品质:精选服务商提供服务
放心:不满意可退款
交易成功的需求
网站维护相关需求方维P2P短信接口修改 - 博客频道 - CSDN.NET
mindev的博客
分类:插件开发
我的一个同事最近在替换方维p2p系统的短信接口,版本为3.5。短信接口我们公司使用的是短信宝( 网址:)的短信接口,短信宝的接口稳定,快速,值得向大家推荐。因为方维p2p的用户使用量非常大,而且我研究了一下,方维p2p的其他版本的短信接口替换都大同小异的,所以我在这里和大家分享一下修改全过程,让有这方面业务需求的小伙伴能够快速学会。
为了帮助更多的用户解决方维p2p的短信接口替换问题,我已经把功能代码打包成了插件,提供给了短信宝官网,直接去他们的网站下载即可。下载地址:
下面我来阐述一下替换过程:
1.首先要开启短信的功能,在系统设置-&邮件与短信中开启设置。如图所示:
2.创建一个sms_trans.php文件上传至项目根目录下的system\sms\smsbao这个文件下(smsbao目录需要创建),代码如下:
if (isset($read_modules) && $read_modules == true)
$module['class_name'] = 'smsbao';
$module['name'] = "短信宝增值平台 (&a href='/reg?r=5001' target='_blank'&&font color='red'&还没账号?点击这免费注册&/font&&/a&)";
$module['server_url'] = '/sms';
if(ACTION_NAME == "install" || ACTION_NAME == "edit"){
$module['lang'] = array();
$module['config'] = array();
return $module;
require_once APP_ROOT_PATH."system/libs/sms.php";
require_once APP_ROOT_PATH."system/sms/smsbao/sms_trans.php";
class smsbao_sms implements sms
public $sms;
public $message = "";
private $statusStr = array(
"0" =& "短信发送成功",
"-1" =& "参数不全",
"-2" =& "服务器空间不支持,请确认支持curl或者fsocket,联系您的空间商解决或者更换空间!",
"30" =& "密码错误",
"40" =& "账号不存在",
"41" =& "余额不足",
"42" =& "帐户已过期",
"43" =& "IP地址限制",
"50" =& "内容含有敏感词"
public function __construct($smsInfo = '')
if(!empty($smsInfo))
$this-&sms = $smsInfo;
public function sendSMS($mobile_number,$content,$is_adv=0)
if(is_array($mobile_number))
$mobile_number = implode(",",$mobile_number);
$sms = new sms_trans();
$params = array(
"u"=&$this-&sms['user_name'],
"p"=&md5($this-&sms['password']),
"m"=&$mobile_number,
"c"=&urlencode($content)
$result = $sms-&request($this-&sms['server_url'],$params);
$code = $result['body'];
if($code=='0')
$result['status'] = 1;
$result['status'] = 0;
$result['msg'] = $this-&statusStr[$code];
return $result;
public function getSmsInfo()
return "短信宝增值平台";
public function check_fee()
es_session::start();
$last_visit = intval(es_session::get("last_visit_smsbao"));
if(get_gmtime() - $last_visit & 10)
$sms = new sms_trans();
$params = array(
"u"=&$this-&sms['user_name'],
"p"=&md5($this-&sms['password'])
$url = "/query";
$result = $sms-&request($url,$params);
$match = explode(',',$result['body']);
if ($match[0] != '')
$remain = (int)$match[1];
$str = sprintf('短信宝增值平台
剩余:%d 条', $remain);
$str = "短信宝增值平台 (&a href='/reg?r=5001' target='_blank'&&font color='red'&还没账号?点击这免费注册&/font&&/a&)";
es_session::set("smsbao_info",$str);
es_session::set("last_visit_smsbao",get_gmtime());
return $str;
$qxt_info = es_session::get("smsbao_info");
if($smsbao_info)
return $smsbao_info;
return "短信宝增值平台 (&a href='/reg?r=5001' target='_blank'&&font color='red'&还没账号?点击这免费注册&/font&&/a&)";
3.创建smsbao_sms.php这个文件上传至项目根目录下的system/sms文件下,代码如下:
class sms_trans
* @var integer $time_limit
var $time_limit = -1;
* @var integer $connect_timeout
var $connect_timeout = -1;
* @var integer $stream_timeout
var $stream_timeout = -1;
* @var boolean $use_curl
var $use_curl = false;
* @param integer $time_limit
* @param integer $connect_timeout
* @param integer $stream_timeout
* @param boolean $use_curl
* @return void
function __construct($time_limit = -1, $connect_timeout = -1, $stream_timeout = -1, $use_curl = false)
$this-&time_limit = $time_limit;
$this-&connect_timeout = $connect_timeout;
$this-&stream_timeout = $stream_timeout;
$this-&use_curl = $use_curl;
* @param string $url 远程服务器的URL
* @param mix $params 查询参数,形如bar=foo&foo=bar;或者是一维关联数组,形如array('a'=&'aa',...)
* @param string $method 请求方式,是POST还是GET
* @param array $my_header 用户要发送的头部信息,为一维关联数组,形如array('a'=&'aa',...)
* @return array 成功返回一维关联数组,形如array('header'=&'bar', 'body'=&'foo'),
* 重大错误程序直接停止运行,否则返回false。
function request($url, $params = '', $method = 'POST', $my_header = '')
$fsock_exists = function_exists('fsockopen');
$curl_exists = function_exists('curl_init');
if (!$fsock_exists && !$curl_exists)
die('No method available!');
if (!$url)
die('Invalid url!');
if ($this-&time_limit & -1)
set_time_limit($this-&time_limit);
$method = $method === 'GET' ? $method : 'POST';
$response = '';
$temp_str = '';
if ($params && is_array($params))
foreach ($params AS $key =& $value)
$temp_str .= '&' . $key . '=' . $value;
$params = preg_replace('/^&/', '', $temp_str);
if ($fsock_exists && !$this-&use_curl)
$response = $this-&use_socket($url, $params, $method, $my_header);
elseif ($curl_exists)
$response = $this-&use_curl($url, $params, $method, $my_header);
if (!$response)
return false;
return $response;
* @param string $url 远程服务器的URL
* @param string $params 查询参数,形如bar=foo&foo=bar
* @param string $method 请求方式,是POST还是GET
* @param array $my_header 用户要发送的头部信息,为一维关联数组,形如array('a'=&'aa',...)
* @return array 成功返回一维关联数组,形如array('header'=&'bar', 'body'=&'foo'),
* 否则返回false。
function use_socket($url, $params, $method, $my_header)
$query = '';
$auth = '';
$content_type = '';
$content_length = '';
$request_body = '';
$request = '';
$http_response = '';
$temp_str = '';
$error = '';
$errstr = '';
$crlf = $this-&generate_crlf();
if ($method === 'GET')
$query = $params ? "?$params" : '';
$request_body = $params;
$content_type = 'Content-Type: application/x-www-form-urlencoded' . $crlf;
$content_length = 'Content-Length: ' . strlen($request_body) . $crlf . $crlf;
$url_parts = $this-&parse_raw_url($url);
$path = $url_parts['path'] . $query;
if (!empty($url_parts['user']))
$auth = 'Authorization: Basic '
. base64_encode($url_parts['user'] . ':' . $url_parts['pass']) . $crlf;
if ($my_header && is_array($my_header))
foreach ($my_header AS $key =& $value)
$temp_str .= $key . ': ' . $value . $crlf;
$my_header = $temp_str;
$request = "$method $path HTTP/1.0$crlf"
. 'Host: ' . $url_parts['host'] . $crlf
. $my_header
. $content_type
. $content_length
. $request_body;
if ($this-&connect_timeout & -1)
$fp = @fsockopen($url_parts['host'], $url_parts['port'], $error, $errstr, $connect_timeout);
$fp = @fsockopen($url_parts['host'], $url_parts['port'], $error, $errstr);
return false;
if (!@fwrite($fp, $request))
return false;
while (!feof($fp))
$http_response .= fgets($fp);
if (!$http_response)
return false;
$separator = '/\r\n\r\n|\n\n|\r\r/';
list($http_header, $http_body) = preg_split($separator, $http_response, 2);
$http_response = array('header' =& $http_header,
'body' =& $http_body);
@fclose($fp);
return $http_response;
* @param string $url 远程服务器的URL
* @param string $params 查询参数,形如bar=foo&foo=bar
* @param string $method 请求方式,是POST还是GET
* @param array $my_header 用户要发送的头部信息,为一维关联数组,形如array('a'=&'aa',...)
* @return array 成功返回一维关联数组,形如array('header'=&'bar', 'body'=&'foo'),
* 失败返回false。
function use_curl($url, $params, $method, $my_header)
$curl_session = curl_init();
curl_setopt($curl_session, CURLOPT_FORBID_REUSE, true);
curl_setopt($curl_session, CURLOPT_HEADER, true);
curl_setopt($curl_session, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl_session, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0);
$url_parts = $this-&parse_raw_url($url);
if (!empty($url_parts['user']))
$auth = $url_parts['user'] . ':' . $url_parts['pass'];
curl_setopt($curl_session, CURLOPT_USERPWD, $auth);
curl_setopt($curl_session, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
$header = array();
$header[] = 'Host: ' . $url_parts['host'];
if ($my_header && is_array($my_header))
foreach ($my_header AS $key =& $value)
$header[] = $key . ': ' . $value;
if ($method === 'GET')
curl_setopt($curl_session, CURLOPT_HTTPGET, true);
$url .= $params ? '?' . $params : '';
curl_setopt($curl_session, CURLOPT_POST, true);
$header[] = 'Content-Type: application/x-www-form-urlencoded';
$header[] = 'Content-Length: ' . strlen($params);
curl_setopt($curl_session, CURLOPT_POSTFIELDS, $params);
curl_setopt($curl_session, CURLOPT_URL, $url);
curl_setopt($curl_session, CURLOPT_HTTPHEADER, $header);
if ($this-&connect_timeout & -1)
curl_setopt($curl_session, CURLOPT_CONNECTTIMEOUT, $this-&connect_timeout);
if ($this-&stream_timeout & -1)
curl_setopt($curl_session, CURLOPT_TIMEOUT, $this-&stream_timeout);
$http_response = curl_exec($curl_session);
if (curl_errno($curl_session) != 0)
return false;
$separator = '/\r\n\r\n|\n\n|\r\r/';
list($http_header, $http_body) = preg_split($separator, $http_response, 2);
$http_response = array('header' =& $http_header,
'body' =& $http_body);
curl_close($curl_session);
return $http_response;
* @param string $raw_url Raw URL to be split into an array
* @author http://www.cpaint.net/
* @return array
function parse_raw_url($raw_url)
$retval = array();
$raw_url = (string) $raw_url;
if (strpos($raw_url, '://') === false)
$raw_url = 'http://' . $raw_url;
$retval = parse_url($raw_url);
if (!isset($retval['path']))
$retval['path'] = '/';
if (!isset($retval['port']))
$retval['port'] = '80';
return $retval;
* @return string 用双引号引用的换行符
function generate_crlf()
$crlf = '';
if (strtoupper(substr(PHP_OS, 0, 3) === 'WIN'))
$crlf = "\r\n";
elseif (strtoupper(substr(PHP_OS, 0, 3) === 'MAC'))
$crlf = "\r";
$crlf = "\n";
return $crlf;
4.进行短信宝接口配置:在后台-&系统配置-&短信接口列表中,启用短信宝的配置,并进行编辑:
5.最后进行短信宝的接口测试,可以使用前台的注册功能测试,如图:
通过以上测试,短信接口修改算是完成了,是不是很方便呀。
到这儿方维p2p的短信接口修改算是完成了,在调试的时候也遇到了一些问题,我也一并分享给大家:
1. 首先,要确认在php环境配置文件php.ini中开启了curl的扩展,并且服务器或空间商支持curl或者fsocket。
2. 其次是短信宝接口配置一切都正确,但是短信还是发不出去。这时找到系统设置-&队列管理-&业务队列列表,全选列表数据,执行彻底删除操作,并执行队列发送。这样就可以了。发生此类问题的原因是队列任务卡死造成的。
如果还有什么不明白的地方,可以去短信宝官网(),找他们的在线客服解决问题,他们的客服可是很热情的哦。
排名:千里之外1673人阅读
短信接口(17)
最近有朋友又让我帮它弄一下方维短信接口,程序是方维p2p的,好了,不多说了,我先说一下,是如何修改的,系统版本:3.5,,短信接口我依然是用56短信网( 网址:)的,其实这个如果自己会修改的话,其它的版本,肯定也是可以的
1.首先要开启短信的功能,如图所示::
2.把sms_trans.php文件上传至system/sms/dxw这个文件下(dxw这个文件夹需新建),& dxw_sms.php这个文件上传至system/sms文件下,确认你的服务器或空间支持curl或者fsocket,建议把sms目录及目录里的文件读写权限修改为777&&
dxw_sms.php文件:&?php
// +----------------------------------------------------------------------
// | Fanweo2o商业系统 最新版V3.03.3285
含4个手机APP。
// +----------------------------------------------------------------------
// | Copyright (c) 2010
All rights reserved.
// +----------------------------------------------------------------------
/* 模块的基本信息 */
if (isset($read_modules) && $read_modules == true)
$module['class_name']
= 'dxw';
/* 名称 */
//56短信网:
$module['name']
= &56短信网 (&a href='' target='_blank'&&font color='red'&还没账号?点击这免费注册&/font&&/a&)&;
$module['server_url'] = '/sms/HttpInterfaceMd5.aspx';
if(ACTION_NAME == &install& || ACTION_NAME == &edit&){
$module['lang']
= array();
$module['config'] = array();
// 企信通短信平台
require_once APP_ROOT_PATH.&system/libs/sms.php&;
//引入接口
require_once APP_ROOT_PATH.&system/sms/dxw/sms_trans.php&;
class dxw_sms implements sms
public $message = &&;
private $statusStr = array(
&1& =& &短信发送成功&,
&-2& =& &除时间外,所有参数不能为空&,
&-3& =& &用户名密码不正确&,
&-4& =& &平台不存在&,
&-5& =& &客户短信数量为0&,
&-6& =& &客户账户余额小于要发送的条数&,
&-7& =& &不能超过70个字&,
&-8& =& &非法短信内容&,
&-9& =& &未知系统故障&,
&-10& =& &网络性错误&,
&-21& =& &代表要加签名&
public function __construct($smsInfo = '')
if(!empty($smsInfo))
$this-&sms = $smsI
public function sendSMS($mobile_number,$content,$is_adv=0)
if(is_array($mobile_number))
$mobile_number = implode(&,&,$mobile_number);
$sms = new sms_trans();
$params = array(
&username&=&$this-&sms['user_name'],
&userpwd&=&md5($this-&sms['password']),
&handtel&=&$mobile_number,
&sendcontent&=&urlencode(iconv(&UTF-8&,&gbk&,$content)),
&sendtime&=&'',
&smsnumber&=&10690,
&comid&=&2714
$result = $sms-&request($this-&sms['server_url'],$params);
$code = $result['body'];
if($code=='0')
$result['status'] = 1;
$result['status'] = 0;
$result['msg'] = $this-&statusStr[$code];
public function getSmsInfo()
return &56短信网(最好的短信平台)&;
public function check_fee()
global $username,$
es_session::start();
$last_visit = intval(es_session::get(&last_visit_dxw&));
if(get_gmtime() - $last_visit & 10)
$sms = new sms_trans();
$username=$this-&sms['user_name'];
$userpwd=$this-&sms['password'];
$url = &/sms/HttpInterfaceR.aspx?comid=2714&username=$username&userpwd=$userpwd&newpwd=&action=moneyc&;
$string = file_get_contents($url);
$match = explode('#',$string);
if ($username!= '')
$str = sprintf($match[0]);
$str = sprintf('您刚获取过短信余额条数了,等等再获取吧');
es_session::set(&dxw_info&,$str);
es_session::set(&last_visit_dxw&,get_gmtime());
$str = sprintf('请稍后再试');
?&sms_trans.php文件
class sms_trans
* 脚本执行时间。-1表示采用PHP的默认值。
$time_limit
var $time_limit
* 在多少秒之内,如果连接不可用,脚本就停止连接。-1表示采用PHP的默认值。
$connect_timeout
var $connect_timeout
* 连接后,限定多少秒超时。-1表示采用PHP的默认值。此项仅当采用CURL库时启用。
$stream_timeout
var $stream_timeout
* 是否使用CURL库来连接。false表示采用fsockopen进行连接。
var $use_curl
* 构造函数
$time_limit
$connect_timeout
$stream_timeout
function __construct($time_limit = -1, $connect_timeout = -1, $stream_timeout = -1, $use_curl = false)
//$this-&transport($time_limit, $connect_timeout, $stream_timeout, $use_curl);
$this-&time_limit = $time_
$this-&connect_timeout = $connect_
$this-&stream_timeout = $stream_
$this-&use_curl = $use_
* 请求远程服务器
远程服务器的URL
查询参数,形如bar=foo&foo=bar;或者是一维关联数组,形如array('a'=&'aa',...)
请求方式,是POST还是GET
$my_header
用户要发送的头部信息,为一维关联数组,形如array('a'=&'aa',...)
成功返回一维关联数组,形如array('header'=&'bar', 'body'=&'foo'),
重大错误程序直接停止运行,否则返回false。
function request($url, $params = '', $method = 'POST', $my_header = '')
$fsock_exists = function_exists('fsockopen');
$curl_exists = function_exists('curl_init');
if (!$fsock_exists && !$curl_exists)
die('No method available!');
if (!$url)
die('Invalid url!');
if ($this-&time_limit & -1)//如果为0,不限制执行时间
set_time_limit($this-&time_limit);
$method = $method === 'GET' ? $method : 'POST';
$response = '';
$temp_str = '';
/* 格式化将要发要送的参数 */
if ($params && is_array($params))
foreach ($params AS $key =& $value)
$temp_str .= '&' . $key . '=' . $
$params = preg_replace('/^&/', '', $temp_str);
/* 如果fsockopen存在,且用户不指定使用curl,则调用use_socket函数 */
if ($fsock_exists && !$this-&use_curl)
$response = $this-&use_socket($url, $params, $method, $my_header);
/* 只要上述条件中的任一个不成立,流程就转向这里,这时如果curl模块可用,就调用use_curl函数 */
elseif ($curl_exists)
$response = $this-&use_curl($url, $params, $method, $my_header);
/* 空响应或者传输过程中发生错误,程序将返回false */
if (!$response)
* 使用fsockopen进行连接
远程服务器的URL
查询参数,形如bar=foo&foo=bar
请求方式,是POST还是GET
$my_header
用户要发送的头部信息,为一维关联数组,形如array('a'=&'aa',...)
成功返回一维关联数组,形如array('header'=&'bar', 'body'=&'foo'),
否则返回false。
function use_socket($url, $params, $method, $my_header)
$query = '';
$auth = '';
$content_type = '';
$content_length = '';
$request_body = '';
$request = '';
$http_response = '';
$temp_str = '';
$error = '';
$errstr = '';
$crlf = $this-&generate_crlf();
if ($method === 'GET')
$query = $params ? &?$params& : '';
$request_body
$content_type = 'Content-Type: application/x-www-form-urlencoded' . $
$content_length = 'Content-Length: ' . strlen($request_body) . $crlf . $
$url_parts = $this-&parse_raw_url($url);
$path = $url_parts['path'] . $
if (!empty($url_parts['user']))
$auth = 'Authorization: Basic '
. base64_encode($url_parts['user'] . ':' . $url_parts['pass']) . $
/* 格式化自定义头部信息 */
if ($my_header && is_array($my_header))
foreach ($my_header AS $key =& $value)
$temp_str .= $key . ': ' . $value . $
$my_header = $temp_
/* 构造HTTP请求头部 */
$request = &$method $path HTTP/1.0$crlf&
. 'Host: ' . $url_parts['host'] . $crlf
. $my_header
. $content_type
. $content_length
. $request_
if ($this-&connect_timeout & -1)
$fp = @fsockopen($url_parts['host'], $url_parts['port'], $error, $errstr, $connect_timeout);
$fp = @fsockopen($url_parts['host'], $url_parts['port'], $error, $errstr);
//打开失败
if (!@fwrite($fp, $request))
//写入失败
while (!feof($fp))
$http_response .= fgets($fp);
if (!$http_response)
$separator = '/\r\n\r\n|\n\n|\r\r/';
list($http_header, $http_body) = preg_split($separator, $http_response, 2);
$http_response = array('header' =& $http_header,//header肯定有值
'body'
=& $http_body);//body可能为空
@fclose($fp);
return $http_
* 使用curl进行连接
远程服务器的URL
查询参数,形如bar=foo&foo=bar
请求方式,是POST还是GET
$my_header
用户要发送的头部信息,为一维关联数组,形如array('a'=&'aa',...)
成功返回一维关联数组,形如array('header'=&'bar', 'body'=&'foo'),
失败返回false。
function use_curl($url, $params, $method, $my_header)
/* 开始一个新会话 */
$curl_session = curl_init();
/* 基本设置 */
curl_setopt($curl_session, CURLOPT_FORBID_REUSE, true); // 处理完后,关闭连接,释放资源
curl_setopt($curl_session, CURLOPT_HEADER, true);//结果中包含头部信息
curl_setopt($curl_session, CURLOPT_RETURNTRANSFER, true);//把结果返回,而非直接输出
curl_setopt($curl_session, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0);//采用1.0版的HTTP协议
$url_parts = $this-&parse_raw_url($url);
/* 设置验证策略 */
if (!empty($url_parts['user']))
$auth = $url_parts['user'] . ':' . $url_parts['pass'];
curl_setopt($curl_session, CURLOPT_USERPWD, $auth);
curl_setopt($curl_session, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
$header = array();
/* 设置主机 */
$header[] = 'Host: ' . $url_parts['host'];
/* 格式化自定义头部信息 */
if ($my_header && is_array($my_header))
foreach ($my_header AS $key =& $value)
$header[] = $key . ': ' . $
if ($method === 'GET')
curl_setopt($curl_session, CURLOPT_HTTPGET, true);
$url .= $params ? '?' . $params : '';
curl_setopt($curl_session, CURLOPT_POST, true);
$header[] = 'Content-Type: application/x-www-form-urlencoded';
$header[] = 'Content-Length: ' . strlen($params);
curl_setopt($curl_session, CURLOPT_POSTFIELDS, $params);
/* 设置请求地址 */
curl_setopt($curl_session, CURLOPT_URL, $url);
/* 设置头部信息 */
curl_setopt($curl_session, CURLOPT_HTTPHEADER, $header);
if ($this-&connect_timeout & -1)
curl_setopt($curl_session, CURLOPT_CONNECTTIMEOUT, $this-&connect_timeout);
if ($this-&stream_timeout & -1)
curl_setopt($curl_session, CURLOPT_TIMEOUT, $this-&stream_timeout);
/* 发送请求 */
$http_response = curl_exec($curl_session);
if (curl_errno($curl_session) != 0)
$separator = '/\r\n\r\n|\n\n|\r\r/';
list($http_header, $http_body) = preg_split($separator, $http_response, 2);
$http_response = array('header' =& $http_header,//肯定有值
'body'
=& $http_body); //可能为空
curl_close($curl_session);
return $http_
* Similar to PHP's builtin parse_url() function, but makes sure what the schema,
* path and port keys are set to http, /, 80 respectively if they're missing
Raw URL to be split into an array
http://www.cpaint.net/
function parse_raw_url($raw_url)
= array();
= (string) $raw_
// make sure parse_url() recognizes the URL correctly.
if (strpos($raw_url, '://') === false)
$raw_url = 'http://' . $raw_
// split request into array
$retval = parse_url($raw_url);
// make sure a path key exists
if (!isset($retval['path']))
$retval['path'] = '/';
// set port to 80 if none exists
if (!isset($retval['port']))
$retval['port'] = '80';
* 产生一个换行符,不同的操作系统会有不同的换行符
用双引号引用的换行符
function generate_crlf()
$crlf = '';
if (strtoupper(substr(PHP_OS, 0, 3) === 'WIN'))
$crlf = &\r\n&;
elseif (strtoupper(substr(PHP_OS, 0, 3) === 'MAC'))
$crlf = &\r&;
$crlf = &\n&;
?&3.查看短信列表,系统设置----短信邮件管理-------短信接口列表 ,如图,就可以看到56短信网接口网关了
点击安装,如图:
填好您的账号和密码,点击新增安钮,然后返回到网关列表页,点击 使用该短信接口&&& 就可以了
4。测试一下,提示发送成功,如图:
到这儿方维p2p短信接口修改就算基本上完成了,下面把调试当中到的一些问题给朋友们说一下。
1)。如果在上传到相应文件夹后,点击短信接口列表后显示空白
出现这种问题是因为代码多半有问题,出现的,你首先要删除这二个文件,然后看一下你修改了那儿出现的问题,你要一部分代码一部分代码调试,看一下可能出现的问题。上述代码我已经调试过了没有问题的。
2)。如果点击使用该短信接口后出现空白页面怎么办.
1.首先删除这二个文件
2.点击短信接口列表后可以显示成功了,随边安装一个,自带的,点击使用该短信接口是否正常。如果显示是正在使用中,说明是没有问题的,如果什么也不显示,可能是安装程序有问题。
3.如果自带的可以,这时候你把修改过的这二个文件再上传到相应的目录下。
4.点击短信接口列表这个时候应该是可以正常显示的,你把自带的卸载了,再重新安装一下你这个,看一下是否可以。
其实 对于高手来讲,以上都不算什么,但对于php不是太精通的人来讲,接入的时候,还是可以参考的。
如果有不明白的可以加我微信:jjzaihaozhe
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:226881次
积分:3239
积分:3239
排名:第8140名
原创:109篇
转载:50篇
评论:21条
(1)(2)(1)(1)(1)(3)(6)(1)(7)(1)(1)(1)(1)(1)(1)(12)(1)(1)(2)(3)(4)(6)(1)(5)(2)(5)(1)(1)(3)(1)(8)(3)(3)(1)(4)(2)(1)(1)(5)(1)(2)(1)(2)(4)(2)(5)(3)(2)(1)(3)(4)(9)(12)(2)

我要回帖

更多关于 方维 验证码错误 处理 的文章

 

随机推荐