Google PHP API CLIENT를 사용하여 작은 크기의 파일을 Google Cloud Storage에 성공적으로 업로드 할 수는 있지만 300MB 파일은 업로드 할 수 없습니다. 메모리 오류로 돌아갑니다. 내 코드는 다음과 같습니다.PHP API를 사용하여 Google Cloud Storage에 다시 업로드 할 수 있습니다.
$storage = new Google_Service_Storage($client);
$file_name = "filenameo.zip";
$obj = new Google_Service_Storage_StorageObject();
$obj->setName($file_name);
$resp = $storage->objects->insert(
"bucketname",
$obj,
array('name' => $file_name, 'data' => file_get_contents("300mb-file.zip"), 'uploadType' => 'media')
);
UploadType을 재개 가능으로 변경하려고 시도했지만 운이 없습니다. 도와주세요.
업데이트 : Brandon Yarbrough 대답
수신 오류로 HTTP를 사용 (치명적인 오류 : catch되지 않은 예외 'Google_IO_Exception'는)
$storage = new Google_Service_Storage($client);
$obj = new Google_Service_Storage_StorageObject();
$obj->setName("filenameo.zip");
$obj->setBucket("bucketname");
$filen = "300mb-file.zip";
$mimetype = mime_content_type($filen);
$chunkSizeBytes = 1 * 1024 * 1024;
$client->setDefer(true);
$status = false;
$filetoupload = array('name' => $file_name, 'data' => $filen, 'uploadType' => 'media');
$request = $storage->objects->insert("bucketname",$obj,$filetoupload);
$media = new Google_Http_MediaFileUpload($client, $request, $mimetype, $chunkSizeBytes);
$handle = fopen($filen, "rb");
while (!$status && !feof($handle)) {
$chunk = fread($handle, $chunkSizeBytes);
$status = $media->nextChunk($chunk);
}
$result = false;
if($status != false) {
$result = $status;
}
fclose($handle);
// Reset to the client to execute requests immediately in the future.
$client->setDefer(false);
오류로 '치명적인 오류 : 캐치되지 않은 예외'Google_IO_Exception '이외의 것이 있습니까? – Aidan