PHP,CURL。curl_exec返回什么?
我正在尝试设置一个带有支付处理器的API。下面是他们提供给我的代码。$result变量中有一些我想要的信息,但我不明白的是,$result是什么类型的变量,以及如何从中获取某些数据。打印$结果显示“交易ID为:xxxx状态已接受”。我基本上希望只获取事务ID并将其存储在变量中PHP,CURL。curl_exec返回什么?,php,curl,Php,Curl,我正在尝试设置一个带有支付处理器的API。下面是他们提供给我的代码。$result变量中有一些我想要的信息,但我不明白的是,$result是什么类型的变量,以及如何从中获取某些数据。打印$结果显示“交易ID为:xxxx状态已接受”。我基本上希望只获取事务ID并将其存储在变量中 foreach($_POST as $k=>$v) $$k=urldecode($v); $urladdress = "https://example.com/accapi/process.php"; $api_
foreach($_POST as $k=>$v) $$k=urldecode($v);
$urladdress = "https://example.com/accapi/process.php";
$api_id = "dddd";
$api_pwd = "yyyyy";
$api_pwd = md5($api_pwd.'s+E_a*');
$data = "user=".$user. "&testmode=".$testmode."&api_id=".$api_id. "&api_pwd=".$api_pwd."&amount=".$amount."&paycurrency=".$currency."&comments=".$comments."&fee=".$fee."&udf1=".$udf1;
// Call STP API
$ch = curl_init(); curl_setopt($ch, CURLOPT_URL,"$urladdress");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0); //use this to suppress output
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false);// tell cURL to graciously accept an SSL certificate
$result = curl_exec ($ch) or die(curl_error($ch));
echo $result;
echo curl_error($ch);
curl_close ($ch);
感谢您的帮助:
成功时返回TRUE,失败时返回FALSE。但是,如果设置了CURLOPT_RETURNTRANSFER选项,则成功时返回结果,失败时返回FALSE
您的代码已经包含这一行(很好):
1
意味着您将从$result=curl\u exec($ch)
收到解释性结果,而不仅仅是true
或false
因此,您的错误检查代码可能如下所示:
$result = curl_exec ($ch);
if($result === FALSE) {
die(curl_error($ch));
}
您还可以通过以下方式检查它们返回的变量类型:
var\u dump($result)
重要信息发布后,您应该更改这些密码。哦,我明白了,所以成功后它会返回一个字符串。非常感谢你!,所以我所要做的就是使用字符串函数来分隔事务ID?“从PHP5.1.3中,这个选项没有任何效果:当使用CURLOPT_RETURNTRANSFER时,原始输出将始终返回”。
$result = curl_exec ($ch);
if($result === FALSE) {
die(curl_error($ch));
}