2013-12-23 112 views
1

我试图使用PHP从我的App Engine写入Google云存储存储桶中的文件。我是按照建立桶,并通过PHP访问它的文档:如何从Google App Engine PHP脚本连接到Google云端存储?

我已经添加了App Engine的服务帐户名称为斗的所有者有问题,但是当我试图运行类似以下内容:

$fp = fopen('gs://[bucket-name]/log/log.txt', 'a+'); 

我得到以下错误:

PHP Warning: fopen(gs://[bucket-name]/log.txt): failed to open stream: 
"\google\appengine\ext\cloud_storage_streams\CloudStorageStreamWrapper::stream_open" 
call failed in /[myfile.php] on line 33 

[bucket-name]只是一个占位符,我使用的是正确的存储桶名称。我错过了什么吗?

+0

FWIW,我也看了后@ http://stackoverflow.com/questions/20294785/how-to-use-google-cloud-storage-for- php?rq = 1并试图找到替代的App Engine电子邮件标识符来赋予存储桶的所有权,但没有运气。 –

回答

2

a+不是用于打开GCS文件的有效模式。 GCS中的对象不能附加到。他们只能被覆盖。你可以在这里找到有效的模式:

https://code.google.com/p/googleappengine/source/browse/trunk/python/php/sdk/google/appengine/ext/cloud_storage_streams/CloudStorageStreamWrapper.php?spec=svn404&r=400#56

+0

就是这样。将写入模式更改为“w”可让数据流正常工作。我现在遇到了'is_resource($ fp)'函数和Google云端存储的问题,它总是返回false,可能是相关的。当我有时间的时候我会玩。谢谢你的帮助! –

+1

没问题,祝你好运! – jterrace

相关问题