我已經設置了一個HTML表單來選擇一個文件並將其提交給PHP腳本,該腳本將上傳它。我不能使用move_uploaded_files()
,因爲Box的API要求我爲Authorization: access_token
添加HTTP標題。我所做的是使用cURL庫設置我自己的POST方法。使用PHP上傳文件
我遇到的問題是正確設置文件名,因爲它需要文件的完整路徑。我無法從HTML表單獲取文件的完整路徑,並使用$_FILES['filename']['tmp_name']
上傳我不想要的.tmp文件。有誰知道這個問題的解決方案?非常感謝!
我的代碼:
public function upload_file($file) {
$url = 'https://api.box.com/2.0/files/content';
$params = [
'filename' => '@'.$file['tmp_name'],
'folder_id' => '0'
];
$header = "Authorization: Bearer ".$this->access_token;
$data = $this->post($url, $params, $header);
}
public function post($url, $params, $header='') {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
if(!empty($header)) {
curl_setopt($ch, CURLOPT_HTTPHEADER, array($header));
}
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
你能提供你的代碼? – seanrose 2013-05-11 21:12:52
當然,我只是將我的代碼添加到原始帖子中。對不起,原來不包括它。 – user2066880 2013-05-13 16:01:10