Я надеюсь, что это полезно:
<?php
$headers = array('token: pacexpressx1x2x3j' );
$data = array(
"STATUS" => "insert" ,
"NAME" => utf8_encode("Test integration 10"),
"COD_AREA" => "4",
"DESC_AREA_" => utf8_encode("info/IT"),
"JOB" => utf8_encode("TEST job"),
"COMPANY" => "4",
"DESC_COMPANY" => utf8_encode("XPTO1"),
"file" => '@/home/user/test.png');
$url = 'your_link';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$output = curl_exec($ch);
echo($output) . PHP_EOL;
curl_close($ch);
В этом примере я отправляю заголовок и поля сообщения.
$headers => Я поместил значение токена в массив, просто чтобы показать, как вы можете отправить значение.
$data => Я использовал массив с некоторыми мнимыми значениями.
В curl я использовал следующие переменные: curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
CURLOPT_POSTFIELDS -> полные данные для публикации в операции HTTP "POST". Чтобы опубликовать файл, добавьте к имени файла символ @ и укажите полный путь. Тип файла можно указать явно, указав после имени файла тип в формате ';type=mimetype'. Этот параметр может быть передан либо в виде строки с URL-адресом, например «para1=val1¶2=val2&...», либо в виде массива с именем поля в качестве ключа и данными поля в качестве значения. Если значение представляет собой массив, для заголовка Content-Type будет установлено значение multipart/form-data. Начиная с PHP 5.2.0, значение должно быть массивом, если файлы передаются в эту опцию с префиксом @.
Если вы хотите узнать больше о curl_setopt, я предлагаю вам эту ссылку: http://php.net/manual/pt_BR/function.curl-setopt.php
Чтобы увидеть, что вы отправляете, и получить отправляемый файл, вы можете использовать этот код ниже:
echo 'Here is some more debugging info:';
echo "\n<hr />\n";
print_r($_FILES);
echo "\n<hr />\n";
print_r($_POST);
print "</pr" . "e>\n";
echo "\n<hr />\n";
// here you will record the file in your server... you can choose a directory if you want
file_put_contents($_FILES['file']['name'],file_get_contents($_FILES['file']['tmp_name']));
person
Davi Amaral
schedule
13.12.2017