0
我現在掙扎了幾天。 (順便說一句,我是新來的捲曲)使用CURL和Curlfile POST多部分/表單數據所需的完整示例()
我有API的設置通過在Heroku我的移動應用程序開發人員在那裏我使用發佈表單數據如下:
public function do_add() {
$Name = $this->input->post('Name');
$Email = $this->input->post('Email');
$Password = $this->input->post('Password');
$txt = "Created";
$url = 'https://myfullurl.com/api/users/';
$fields = array(
'name' => $Name,
'email' => $Email,
'password' => $Password,
'role' => 'driver'
);
$result = $this->scripts->api_add($url, $fields);
$this->session->set_userdata('Success',"Record Has Been Successfully ".$txt."...");
redirect(base_url().'mmsadmin/users/view_all');
}
所以,當我張貼以上的功能數據Codeignitor收到它,並將其發佈到我的模型功能如下:
public function api_add($url, $fields){
$fields_string = "";
//url-ify the data for the POST
foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
rtrim($fields_string, '&');
//open connection
$ch = curl_init();
//set the url, number of POST vars, POST data
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POST, count($fields));
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: Bearer ' . $this->session->userdata('Token')));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = json_decode($content = curl_exec($ch));
curl_close($ch);
return $result;
}
以上所有工作正常。現在我需要能夠發送一個文件。已經被谷歌搜索,發現了一些-F命令,也用它發送「@」但是當我嘗試,我的服務器時,它給我的錯誤,這種方法計提折舊,我應該使用curlfile()
燦你一個神醫了那裏改變我的功能,以顯示如何做到這一點。正如我不知所云,像現在看兩天:(
謝謝你們
您使用
謝謝你,但它只是發送文件的例子。我如何發送表單數據以及文件。 我的開發者說他設置接收的方式是他獲取表單數據然後接收文件。但顯然我必須同時發送 – Zee
您可以將數據附加到數據數組中,例如: '$ cfile = curl_file_create('filename.fileTpye'); //分配POST數據 $ data = array('test_file'=> $ cfile,'name'=>'test','anotherData'=>'abc'); –