Я хочу загрузить больший файл в dropbox с помощью PHP curl в apiv2.
Привет,
Я хочу загрузить больший файл в Dropbox с помощью PHP curl в APIv2. Я написал код, но получаю ошибку status_code = 413(объект запроса слишком велик).
Я отправляю свой код. Ваша помощь была бы для меня большим одолжением.
https://content.dropboxapi.com/2/files/upload_session/start';
Чтобы выше мой код был:
$headers = array('Authorization: Bearer' . $token,
'Content-Type: application/octet-stream',
'Dropbox-API-Arg: '.
json_encode(
массив(
"закрыть"=>false,
)
),
'Content-Type: application/octet-stream'
);
$ч = curl_init($api_url);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POST, true);
$path = $destPath . $to_zip_folder;
//echo $path;die;
$fp = fopen($path, 'rb');
$filesize = размер файла($path);
curl_setopt($ch, CURLOPT_POSTFIELDS, ");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_VERBOSE, 1); // debug
$response = curl_exec($ch);
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($CH с);
ответ === {"session_id": "Aaaaaaaafxd8sqjqyoldq"}
http_code === 200
$api1_url = 'https://content.dropboxapi.com/2/files/upload_session/append_v2';
Для приведенного выше API мой код таков:
$headers1 = array('Authorization: Bearer' . $token,
'Content-Type: application/octet-stream',
'Dropbox-API-Arg: '.
json_encode(
массив(
"курсор"=>$w,
"закрыть" => false,
)
),
'Content-Type: application/octet-stream'
);
//print_r($headers1);die;
$ч = curl_init($api1_url);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers1);
curl_setopt($ch, CURLOPT_POST, true);
$path = $destPath . $to_zip_folder;
//echo $path;die;
$fp = fopen($path, 'rb');
$filesize = размер файла($path);
curl_setopt($ch, CURLOPT_POSTFIELDS, ");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_VERBOSE, 1); // debug
$response = curl_exec($ch);
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($CH с);
ответ === null
http_code === 200
$api2_url = 'https://content.dropboxapi.com/2/files/upload_session/finish';
Для приведенного выше API мой код таков:
$headers2 = array('Authorization: Bearer' . $token,
'Content-Type: application/octet-stream',
'Dropbox-API-Arg:' .
json_encode(
массив(
"курсор"=>$w1,
"commit"=>$q,
)
),
'Content-Type: application/octet-stream'
);
// print_r($headers2);die;
$ч = curl_init($api2_url);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers2);
curl_setopt($ch, CURLOPT_POST, true);
$path = $destPath . $to_zip_folder;
//echo $path;die;
$fp = fopen($path, 'rb');
$filesize = размер файла($path);
curl_setopt($ч, CURLOPT_POSTFIELDS, fread операционной($ФП$размер));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_VERBOSE, 1); // debug
$response = curl_exec($ch);
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($CH с);
http_code === 413
если я использую
curl_setopt($ч, CURLOPT_POSTFIELDS, fread операционной($ФП$размер));
тогда status_code = 413.
если я использую
curl_setopt($ch, CURLOPT_POSTFIELDS, ");
затем он сохранит 0-байтовый файл.
пожалуйста, предложите, каким должен быть curl для этих трех API?
Заранее спасибо.
Что я уже пробовал:
Я пробовал PHP Curl. Я не понимаю, в чем проблема?