cURL没有对PHP脚本做出任何回应

时间:2014-07-15 12:16:04

标签: php json curl

我对PHP很陌生,所以任何帮助都会非常感激。

这是在启用了cURL的WAMP服务器上运行的,并且应该为我正在尝试处理的订单上传跟踪。但是当我运行这个脚本时,我没有得到回应,所以我认为它在某个地方被破坏但是我没有得到任何错误所以我不确定到底是什么时候发生的。

问题似乎是原因,但无论是我创建$ datatopost数组的方式,还是我想到的代码的实际cURL部分。

if($_REQUEST)
{
    $supplier = $_REQUEST["supplier_ID"];
    $token = $_REQUEST["token"];
    $filePath = $_REQUEST["filePath"];
    $fileName = $_REQUEST["fileName"];
}

$itemID = array();

$array = file($filePath.$fileName);
foreach($array as $value)
{
    $temp = explode(",",$value);

    $itemID[] = array( "carrier" => $temp[1], "ci_lineitem_id" => $temp[0], "tracking" => $temp[2]);
}

$datatopost = array (
"supplier_id" => $supplier,
"token" => $token,
"tracking_info" =>json_encode($itemID)
);

$ch = curl_init ("https://scm.commerceinterface.com/api/v2/tracking_notification");
curl_setopt ($ch, CURLOPT_POST, true);
curl_setopt ($ch, CURLOPT_POSTFIELDS, $datatopost);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec ($ch);

if( $response ) 
{
    $response_json = json_decode( $response );

    if( $response_json['success'] == true ) 
    {
        file_put_contents($filePath."Success.txt", $response);
    } 
    else 
    {
        file_put_contents($filePath."Failed.txt", $response);
    }
}

2 个答案:

答案 0 :(得分:1)

file_put_contents($filePath."Success.txt", $responce);

file_put_contents($filePath."Failed.txt", $responce);

我认为file_get_contents()方法中的变量$ response是未知的。尝试使用 $ response

答案 1 :(得分:0)

您正在尝试获取SSL安全站点,因此请查看CURLOPT_SSL_ *选项: http://php.net/manual/en/function.curl-setopt.php

有关详细信息,您应该检查cURL结果(如已经提到的那样)。