Выполнение запроса PUT с помощью PHP и CURL - PullRequest
4 голосов
/ 25 марта 2011

Прежде всего я работаю на основе следующего предположения: в соответствии с архитектурой REST вы можете использовать PUT для создания нового ресурса, в моем случае файл с дополнительной информацией, предоставленной пользователем.

Если эта концепция неверна, пожалуйста, дайте мне знать, чтобы я не задавал неправильный вопрос с архитектурной точки зрения.

Я вижу, что есть две вещи, связанные с запросом PUT с использованием CURL.

С помощью следующего метода вы можете отправить массив значений, как обычный запрос POST.

curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");

и используя это:

curl_setopt($ch, CURLOPT_PUT, 1);

файл может быть загружен.

Связаны ли эти два параметра? Являются ли они дополнительными способами отправки файла и некоторой метаинформации в одном и том же запросе PUT? Как можно загрузить файл и отправить для него дополнительную информацию, такую ​​как категория и описание

Я просто пытаюсь имитировать функцию POST

    $post_params['name'] = urlencode('Test User');
    $post_params['file'] = '@'.'/tmp/never_ending_progress_bar2.gif';

1 Ответ

6 голосов
/ 25 марта 2011

CURLOPT_CUSTOMREQUEST полезно, когда вы хотите / должны сделать какой-то особый запрос, который недостаточно распространен, чтобы его поддерживали сами по себе, с помощью его собственной опции.

CURLOPT_POST, CURLOPT_PUT и CURLOPT_GET позволяют отправлять POST / PUT / GET запросов - это типы запросов, которые достаточно распространены, чтобы иметь собственные параметры; это означает, что они не нуждаются в вас, чтобы использовать CURLOPT_CUSTOMREQUEST.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...