Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Goog云存储Acl和/或PHP存储桶_Php_Google Cloud Storage_Bucket - Fatal编程技术网

Goog云存储Acl和/或PHP存储桶

Goog云存储Acl和/或PHP存储桶,php,google-cloud-storage,bucket,Php,Google Cloud Storage,Bucket,我不能对这件事耿耿于怀。我有一个用于Laravel的包,它基本上包装了用于Google云存储的PHP Api。 我现在可以把文件上传到一个桶里了。但现在我被用户上传到我的bucket中的问题困住了。我认为为每个用户创建一个bucket是不好的,嵌套bucket是不可能的。 如何列出由特定用户上载的文件? 我发现了一些关于ACL的信息: 有人能告诉我这是不是正确的方法吗?我的意思是,我应该为我网站上的每次注册在谷歌云存储上创建一个用户吗? 在PHP中有一个简单的例子吗?您必须创建用于上载文件的用户

我不能对这件事耿耿于怀。我有一个用于Laravel的包,它基本上包装了用于Google云存储的PHP Api。 我现在可以把文件上传到一个桶里了。但现在我被用户上传到我的bucket中的问题困住了。我认为为每个用户创建一个bucket是不好的,嵌套bucket是不可能的。 如何列出由特定用户上载的文件? 我发现了一些关于ACL的信息:

有人能告诉我这是不是正确的方法吗?我的意思是,我应该为我网站上的每次注册在谷歌云存储上创建一个用户吗?
在PHP中有一个简单的例子吗?

您必须创建用于上载文件的用户,还需要做一件事:在您的bucket中创建一个文件夹,然后您将使用此url获得特定路径作为基本url,然后在此url中上载您必须指定名称的图像文件。一旦它将上载,只需在数据库表中选择此url存储。您可以使用此链接轻松访问图像。

这取决于应用程序的设计。你可以遵循的方法是(非常类似于Rohan所说的):使用用户对你的应用程序进行身份验证时获得的用户Id,并创建一个文件夹,用于上载该特定用户的所有对象。因此,管理(创建、更新、删除)属于用户的所有对象将更加容易。当您从应用程序中删除该用户时,您还可以删除该文件夹。为此,您将需要一个用于向GCS bucket验证您的应用程序的单一身份验证


上载对象时,还需要指定路径(文件夹)。看看这个

但在这里,我只能看到createBucket()方法,而不是创建文件夹的方法:示例是什么?$options=['resumable'=>true,'name'=>'/images/new name.jpg','metadata'=>['contentLanguage'=>'en']$object=$bucket->upload(fopen(DIR.'/image.jpg','r'),$options);