我希望這是有幫助的:
<?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 =>我用了一些具有想象值的數組。
在我用這個捲曲variebles這裏: curl_setopt($ CH,CURLOPT_POSTFIELDS,$ data_string); curl_setopt($ ch,CURLOPT_HTTPHEADER,$ headers);
CURLOPT_POSTFIELDS - >要在HTTP「POST」操作中發佈的完整數據。要發佈文件,請使用@預先指定文件名並使用完整路徑。文件類型可以通過跟隨具有格式'; type = mimetype'格式的文件名來顯式指定。此參數可以作爲urlencoded字符串傳遞,如'para1 = val1 & para2 = val2 & ...'或作爲字段名稱作爲鍵和字段數據作爲值的數組。如果value是一個數組,則Content-Type頭將被設置爲multipart/form-data。從PHP 5.2.0開始,如果使用@前綴將文件傳遞給此選項,則值必須是數組。
如果您想了解更多關於curl_setopt,我sugest你這個鏈接: 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']));
你最好閱讀關於CURL:http://php.net/curl。 – shadyyx