Здравствуйте, я пытаюсь загрузить большой zip-файл на диск. Я старался new Google_Http_MediaFileUpload()
но это дает мне эту ошибку.
Неустранимая ошибка PHP: Uncaught Google_Exception: не удалось запустить возобновляемую загрузку (HTTP 200)
Я не знаю, почему это происходит, поэтому кто-нибудь может сказать мне, в чем может быть проблема или почему мой сценарий вызывает это исключение.
Вот мой код,
$AT = Helper::get_Settings('google_token');
$client = new Google_Client();
$client->setClientId('Client_ID');
$client->setClientSecret('Client_Secret');
$client->setScopes(array('https://www.googleapis.com/auth/drive'));
$client->setAccessToken($AT);
// Making a new drive service
$service = new Google_Service_Drive($client);
// Making directory structure into google drive
$dirs = explode('/', $dir);
$parentid = '';
foreach ($dirs as $new_dir) {
$dirSt = new Google_Service_Drive_DriveFile();
$dirSt->setName($new_dir);
$dirSt->setMimeType('application/vnd.google-apps.folder');
if ($parentid != '') {
$dirSt->setParents(array($parentid));
}
$new_file = $service->files->create($dirSt, array(
'fields' => 'id'));
$parentid = $new_file->id;
}
// Uploading Backed up files
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$file_path = wp_upload_dir()['basedir'] . '/' . $fileName . '.zip';
$fileSize = filesize($file_path);
$chunkSizeBytes = 1 * 1024 * 1024;
$mime_type = 'application/zip';
$fileMetadata = new Google_Service_Drive_DriveFile(array(
'name' => $fileName,
'parents' => array($parentid)
));
$client->setDefer(true);
$request = $service->files->create($fileMetadata);
// Create a media file upload to represent our upload process.
$media = new Google_Http_MediaFileUpload($client, $request, $mime_type, $chunkSizeBytes);
$media->setFileSize($fileSize);
$status = false;
$handle = fopen($file_path, "rb");
while (!$status && !feof($handle)) {
$chunk = fread($handle, $chunkSizeBytes);
$status = $media->nextChunk($chunk);
}
$result = false;
if ($status != false) {
$result = $status;
}
fclose($handle);
$client->setDefer(false);
Теперь, почему это бросает это исключение, я застрял здесь.
Задача ещё не решена.
Других решений пока нет …