function create_dropbox_folder($foldername)
{
if(isset($foldername)){
$data=[
'query'=>$foldername,
'options'=>['path'=>""]
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL, 'https://api.dropboxapi.com/2/files/search_v2');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Content-Type: application/json",
'Authorization: Bearer access_token'
]);
if($data) {
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
}
curl_setopt ($ch, CURLOPT_CUSTOMREQUEST, "POST");
$result = curl_exec($ch);
curl_close($ch);
if(empty(json_decode($result)->matches))
{
$path=[
'paths'=>
[文件路径:路径后面得有文件名称]
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL, 'https://api.dropboxapi.com/2/files/create_folder_batch');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Content-Type: application/json",
'Authorization: Bearer access_token'
]);
if($path) {
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($path));
}
curl_setopt ($ch, CURLOPT_CUSTOMREQUEST, "POST");
$result = curl_exec($ch);
curl_close($ch);
$paths=[
'entries'=>[
[
'from_path'=>"复制的dropbox路径",
'to_path'=>"粘贴到的文件夹路径"
],
],
"autorename"=>true
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL, 'https://api.dropboxapi.com/2/files/copy_batch_v2');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Content-Type: application/json",
'Authorization: Bearer access_token'
]);
if($paths) {
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($paths));
}
curl_setopt ($ch, CURLOPT_CUSTOMREQUEST, "POST");
$results = curl_exec($ch);
curl_close($ch);
if(isset(json_decode($results,true)['async_job_id'])){
$data=['async_job_id'=>json_decode($results,true)['async_job_id']];
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL, 'https://api.dropboxapi.com/2/files/copy_batch/check_v2');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Content-Type: application/json",
'Authorization: Bearer access_token'
]);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
if($data) {
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
}
curl_setopt ($ch, CURLOPT_CUSTOMREQUEST, "POST");
$ss = curl_exec($ch);
curl_close($ch);
}
}
}
}
$data=[
'path'=>""
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL, 'https://api.dropboxapi.com/2/files/list_folder');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Content-Type: application/json",
'Authorization: Bearer access_token'
]);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
if($data) {
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
}
curl_setopt ($ch, CURLOPT_CUSTOMREQUEST, "POST");
$result = curl_exec($ch);
curl_close($ch);
$www=$_FILES['file'];
$scr = $www['tmp_name'];
$ext = substr($www['name'],strrpos($www['name'],'.')+1);
$path = $www;
$fp = fopen($scr, 'rb');
$size = filesize($scr);
$path1=['path'=>"/".$www['name'].'.'.$ext];
$cheaders = array('Authorization: Bearer access_token',
'Content-Type: application/octet-stream',
'Dropbox-API-Arg: '.json_encode($path1));
$ch = curl_init('https://content.dropboxapi.com/2/files/upload');
curl_setopt($ch, CURLOPT_HTTPHEADER, $cheaders);
curl_setopt($ch, CURLOPT_PUT, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_INFILE, $fp);
curl_setopt($ch, CURLOPT_INFILESIZE, $size);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
fclose($fp);
header('Content-Description: File Transfer');
header('Content-Type: application/vnd.android.package-archive');
header('Content-Disposition: attachment; filename=下载到本地的文件夹路径');
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
$data=[
'path'=>"下载文件路径"
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL, 'https://content.dropboxapi.com/2/files/download');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer access_token',
'Dropbox-API-Arg:'.json_encode($data)
]);
curl_setopt($ch, CURLOPT_WRITEFUNCTION, function ($ch, $buffer) {
echo $buffer;
return strlen($buffer);
});
curl_setopt ($ch, CURLOPT_CUSTOMREQUEST, "POST");
$result = curl_exec($ch);
curl_close($ch);
?>