相关疑难解决方法(0)

在PHP中处理PUT/DELETE参数

我正在为CodeIgniter开发我的REST客户端库,我正在努力研究如何在PHP中发送PUT和DELETE参数.

在一些地方我见过人们使用这些选项:

$this->option(CURLOPT_PUT, TRUE);
$this->option(CURLOPT_POSTFIELDS, $params);
Run Code Online (Sandbox Code Playgroud)

令人讨厌的是,这似乎什么都不做.这是设置PUT参数的正确方法吗?

如果是这样,我该如何设置DELETE参数?

$ this-> option()是我库的一部分,它只是构建一个CURLOPT_XX常量数组,并在执行构建的cURL请求时将它们发送到curl_setopt_array().

我试图使用以下代码读取PUT和DELETE参数:

        case 'put':
            // Set up out PUT variables
            parse_str(file_get_contents('php://input'), $this->_put_args);
        break;

        case 'delete':
            // Set up out PUT variables
            parse_str(file_get_contents('php://input'), $this->_delete_args);
        break;
Run Code Online (Sandbox Code Playgroud)

这里有两个选项,我以错误的方式接近这个或者我的库中有一个错误.如果你能告诉我这是否理论上可行,我可以直接调试,直到我解决它.

我不想再浪费时间在一个根本错误的方法上.

php rest curl codeigniter http-headers

84
推荐指数
3
解决办法
7万
查看次数

如何编写PHP curl DELETE请求

我正在引用DigitalOcean的API文档,他们在此提供了有关如何删除Droplet的以下示例:

curl -X DELETE -H "Content-Type: application/json" -H "Authorization: Bearer API_TOKEN" "https://api.digitalocean.com/v2/droplets/[DROPLET_ID]"
Run Code Online (Sandbox Code Playgroud)

我怎么能用PHP卷曲写这个?

我目前有这个:

$ch = curl_init('https://api.digitalocean.com/v2/droplets/18160706');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Authorization: Bearer MY_API_TOKEN')
);

$result = curl_exec($ch);
echo $result;
Run Code Online (Sandbox Code Playgroud)

但这不是删除我的Droplet并返回(是的,Droplet id是正确的):

{"id":"not_found","message":"The resource you were accessing could not be found."}1
Run Code Online (Sandbox Code Playgroud)

php curl digital-ocean

2
推荐指数
2
解决办法
1万
查看次数

标签 统计

curl ×2

php ×2

codeigniter ×1

digital-ocean ×1

http-headers ×1

rest ×1