【发布时间】:2019-11-20 11:05:25
【问题描述】:
是否可以以类似于 file_get_contents 的方式从谷歌云存储桶获取图像?我需要将图像弄乱,而无需将其放在本地机器/服务器上
我曾尝试使用 php 的谷歌云存储库 (https://github.com/googleapis/google-cloud-php-storage),但它一直给我“无法打开流”错误,这让我相信我可能为 file_get_content 函数提供了错误的 url。
我应该提一下,所有文件都设置为公开,并提供公共 storage.cloud.google.com 链接
我现在的代码是这样的:
require 'vendor/autoload.php';
use Google\Cloud\Storage\StorageClient;
$storage = new StorageClient();
$storage->registerStreamWrapper();
$contents = file_get_contents('gs://{BUCKET}/{IMAGE NAME}.jpg');
虽然我目前的存储桶结构更像这样
存储桶 - 文件夹 - 图片
我尝试在 URL 中添加文件夹,但它仍然给我同样的“无法打开流”错误。谁能指出我做错了什么?我需要进行身份验证吗?我什至需要图书馆吗?我尝试使用 file_get_content($public_url) 但由于 storage.cloud.google.com 链接会重定向您,这显然不起作用哈哈哈
任何帮助将不胜感激
干杯
【问题讨论】: