PHP按PUT

时间:2017-07-06 16:21:29

标签: php curl put

我正在尝试创建一个通过PUT发送数据的脚本。 但是我似乎没有成功。

我尝试使用CURL脚本但无济于事。

        ///######## INDICATE PUT
        curl_setopt($this->CurlOBJ, CURLOPT_CUSTOMREQUEST, 'PUT');

我想我需要做更多但是一般来说我能在互联网上找到的是我应该通过以下方式:

$data = file_get_contents('php://input')

但我不知道如何使用file_get_contents()发送数据; 此外,我被要求发送带有API密钥的标头。

然而我的第二个问题是如何使用PUT发送标题密钥。 第三是......使用PUT构建API是一个好主意。然而,这是一个附带问题。

那么如何通过PUT发送数据并获得任何有效的回报呢?

  

答案

     塔德曼让我朝着正确的方向前进!所以即使这样   问题已被标记为重复。他的回答仍然给了我   溶液

     

对于那些像我这样对第一个答案没有足够的人   我的工作代码。

     

谢谢!

<?php

$bookingID = 'aae2cdfd-6789-474d-828c-190e14a0f01e';
$url = 'https://api.someapp.com/application/'.$bookingID.'/update';

$data = array(
                'changeDate'  => date('c'),
                'options'       => array(
                                            'allowEdit' =>  true
                                        )
            );

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
curl_setopt($ch, CURLOPT_POSTFIELDS,    http_build_query($data));

///######### SET THE HEADER
$headers = array('apiSetKey: 2388089');
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);


$response = curl_exec($ch);

if (!$response)
{
    return false;
}
else {
    ///######## JSON DECODE DATA
    $response = json_decode($response, true);

    print_r($response);
}

?>

0 个答案:

没有答案