Как сделать -F в PHP cURL?

#php #curl

#php #curl

Вопрос:

У меня есть следующие консольные команды curl

 curl -i -X POST -u USERNAME:PASSWORD https://foo.com/api/metadata/ -F key="url" -F value="http://foo.com"
curl -i -X POST -u USERNAME:PASSWORD https://foo.com/api/queries/ -F image=@/tmp/image.jpg
  

Как мне передать значения -F параметров в PHP cURL

Комментарии:

1. возможно, стоит поискать CURLOPT_POSTFIELDS опцию в PHP cURL

Ответ №1:

Добавьте файл в поля post, а затем используйте curl, как следующий код:

 $post = array('extra_info' => '123456','file_contents'=>'@'.$file_name_with_full_path);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$target_url);
curl_setopt($ch, CURLOPT_POST,1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
$result=curl_exec ($ch);
curl_close ($ch);
echo $result;
  

Примечание: Используется realpath() для получения пути к файлу.

Подробнее