php最常用方法,php 常用方法

/**

* 返回token参数

* 参数 result 需要先urldecode

*/

function getToken($result) {

$result = urldecode ( $result ); // URL转码

$Arr = explode ( '&', $result ); // 根据 & 符号拆分

$temp = array (); // 临时存放拆分的数组

$myArray = array (); // 待签名的数组

// 循环构造key、value数组

for($i = 0; $i < count ( $Arr ); $i ++) {

$temp = explode ( '=', $Arr [$i], 2 );

$myArray [$temp [0]] = $temp [1];

}

$sign = $myArray ['sign']; // 支付宝返回签名

$myArray = para_filter ( $myArray ); // 拆分完毕后的数组

$sort_array = arg_sort ( $myArray ); // 排序数组

$this->mysign = build_mysign ( $sort_array, $this->_key, $this->sign_type ); // 构造本地参数签名,用于对比支付宝请求的签名

if ($this->mysign == $sign) // 判断签名是否正确

{

return getDataForXML ( $myArray ['res_data'], '/direct_trade_create_res/request_token' ); // 返回token

} else {

echo ('签名不正确'); // 当判断出签名不正确,请不要验签通过

return '签名不正确';

}

}

/**

* PHP Crul库 模拟Post提交至支付宝网关

* 如果使用Crul 你需要改一改你的php.ini文件的设置,找到php_curl.dll去掉前面的";"就行了

* 返回 $data

*/

function post($gateway_url) {

$ch = curl_init ();

curl_setopt ( $ch, CURLOPT_URL, $gateway_url ); // 配置网关地址

curl_setopt ( $ch, CURLOPT_HEADER, 0 ); // 过滤HTTP头

curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );

curl_setopt ( $ch, CURLOPT_POST, 1 ); // 设置post提交

curl_setopt ( $ch, CURLOPT_POSTFIELDS, $this->req_data ); // post传输数据

$data = curl_exec ( $ch );

curl_close ( $ch );

return $data;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值