#阿里支付php升级到7.4 之后遇到的一些小问题
// 修改了php 阿里支付 sdk 开发包,AopClient.php 430行左右。
希望对遇到此类问题的小伙伴有帮助
下面展示一些 内联代码片
。
/**
* 建立请求,以表单HTML形式构造(默认)
* @param $para_temp 请求参数数组
* @return 提交表单HTML文本
*/
protected function buildRequestForm($para_temp) {
// This function is marked as deprecated in PHP 7.2.0 and is removed in PHP 8.0.0, the replacement for legacy code would look like this:
//var_dump($para_temp);
//2021.10.31 lb
$sHtml = "<form id='alipaysubmit' name='alipaysubmit' action='".$this->gatewayUrl."?charset=".trim($this->postCharset)."' method='POST'>";
// while (list ($key, $val) = each ($para_temp)) {
// php升级为7.4的时候发现的问题,each函数已经弃用
// if (false === $this->checkEmpty($val)) {
// //$val = $this->characet($val, $this->postCharset);
// $val = str_replace("'","'",$val);
// //$val = str_replace("\"",""",$val);
// $sHtml.= "<input type='hidden' name='".$key."' value='".$val."'/>";
// }
// }
foreach ($para_temp as $key => $value) {
# code...
if (false === $this->checkEmpty($value)) {
# code...
$value = str_replace("'" ,"'",$value);
$sHtml.="<input type='hidden' name='".$key."' value='".$value."'/>";
}
}
//submit按钮控件请不要含有name属性
$sHtml = $sHtml."<input type='submit' value='ok' style='display:none;''></form>";
$sHtml = $sHtml."<script>document.forms['alipaysubmit'].submit();</script>";
return $sHtml;
}