这几天做了一个需要使用微信支付的系统,找到了相应的demo,但是发现获取OpenID后无法找到Url地址,后来才知道,微信支付传参不可以使用问号传递,后来使用伪静态化的方式实现了传参,在没有这个思路之前虽然找到了很多文章,但是一直没有找到对应的 策略,,所以写下来希望对后续有开发遇到此问题的人以帮助,免得寻找方法浪费时间。希望对后来者有所帮助。
$Url = $_SERVER['PATH_INFO'];
//echo $Url ;
//$$Url 打印出来的值是 /pay_1_2_3.html
//通过正则表达式匹配获取的url地址
if(preg_match('/^\/(pay)_(\d+)_(\d+)_(\d+)\.html$/',$Url,$arr)){
//$act = $arr[1]; //这个是请求的文件名方法
$id1 = $arr[2]; //这个是获取的id1 值
$id2 = $arr[3]; //这个是获取的id2 值
$id3 = $arr[4]; //这个是获取的id3 值
//你的业务逻辑
}else{
echo "url地址不合法";
}
二维码或调用地址如下:https://www.abc.com/pay/pay.php/pay_1_2_3.html
为了更容易看懂所以些了详细的备注,希望能看懂。希望能为大家节省点时间。