谷歌 Cloud 存储使用PHP的官方文档中缺乏信息,我感到很惊讶 .

我们开始......我正在尝试使用适用于PHP的Google API客户端库管理存储桶的上传和下载,但我无法找到指定API的方式,我想在google的存储桶上传文件(I只能在桶的根目录上传它们 .

这里's the code that I' m用于上传(摘自https://github.com/guillefd/Backup-manager-gcs/blob/master/application/libraries/Googlecloudstorage.php):

public function media_file_upload($file_path = null, $file_name = null) { 


    # init
    $result = new stdClass();
    $result->error = null;
    $result->status = null;
    $result->exception = null;
    # timer
    $result->starttime = microtime();
    # init gcs api
    $gso = new Google_Service_Storage_StorageObject();
    $gso->setName($file_name);
    $gso->setBucket($this->bucket);      
    $finfo = finfo_open(FILEINFO_MIME_TYPE);
    $mimetype = finfo_file($finfo,$file_path);
    $chunkSizeBytes = 1 * 1024 * 1024;
    $this->client->setDefer(true);
    $filetoupload = array(
                            'name'=>$file_name,
                            'uploadType'=>'resumable'    
                        );       
    # service
    $this->newStorageService();
    $status = false;
    # try
    try {
        $request = $this->storageService->objects->insert($this->bucket, $gso, $filetoupload);
        $media = new Google_Http_MediaFileUpload($this->client, $request, $mimetype, null, true, $chunkSizeBytes);
        $media->setFileSize(filesize($file_path));
        $handle = fopen($file_path, "rb");
        # loop chunks
        while(!$status && !feof($handle)) {
            $chunk = fread($handle, $chunkSizeBytes);
            $status = $media->nextChunk($chunk);
        }
        fclose($handle);
        $this->client->setDefer(false);
        // $result->status = $status;
    } catch(Exception $e) {
            $result->error = true;
            $result->status = 'Google Cloud Service upload failed';
            $result->exception = $e;
        }
    # timer
    $result->endtime = microtime();   
    $result->totaltime = $this->get_totaltime($result);
    # verify response
    $result->httpcode = http_response_code();
    $result->error = isset($status->kind) && $status->kind==self::STORAGE_OBJECT ? false : true;        
    return $result;
}

我实际要问的主要问题是:有没有办法使用Google Cloud的PHP API将文件上传到特定路线的谷歌桶?

谢谢!