php - 如何在 wordpress 帖子中列出存储在谷歌云存储桶中的文件?
问题描述
是否可以列出我的 Google Cloud Storage 存储桶中可用的文件?
有什么插件吗?
我想将文件夹名称作为参数传递,(有点像简码),然后简码可以从文件夹中获取文件并列出它们,如果可能的话使用元数据。我相信会有一个插件可用,或者有一堆插件可以解决问题。
如果没有任何插件,请指出我应该学习哪些 PHP 函数来自己做的正确方向。
if ( function_exists( 'switch_to_blog' ) ) switch_to_blog(1);
$murl = get_option( 'siteurl' ) . $mdir;
if ( function_exists( 'restore_current_blog' ) ) restore_current_blog();
// MP3 folder relative URL
$mrelative = preg_replace( '/^https?\:/m', '', $murl );
$mrelative = preg_replace( '/^\/\//', '', $mrelative );
$mrelative = explode( '/', $mrelative );
array_shift($mrelative);
$mrelative = '/'.implode('/', $mrelative);
$mpath = ABSPATH . mb_substr($mdir, 1);
上面的代码从本地服务器读取文件夹,而不是我希望 url 是自定义的,我在哪里输入自定义 url?
解决方案
Google Cloud Storage 没有文件夹结构。 对于某些背景知识,子目录的工作原理是一本不错的读物。
实际上,在 Google 提供的Wordpress 网站中列出了一个插件,还有一个在社区中广泛传播的插件,称为WP-Stateless
如果您想使用官方的Storage API ,您也可以实现自定义解决方案,但我相信这些插件目前对您来说已经足够了。
您可以使用以下示例代码列出 GCS 存储桶中的对象:
$storage = new Google_Service_Storage($this->gcsClient);
$listObjects = $storage->objects->listObjects($this->bucket, array());
$items = $listObjects->getItems();
foreach ($items as $item) {
print_r($item["name"]);
}
推荐阅读
- c - 反向阵列 C
- google-chrome - Google Chrome 声称 TortoiseGit 和 TortoiseSVN 是不兼容的应用程序
- angular - 如何将数据传递到角度材料底页
- xamarin.forms - 构建具有多个列表视图的食谱页面
- ruby-on-rails - 如何访问 json 响应导轨中的值?
- python - 简单的张量流示例:
- pdf - Ghostscript在一页上添加一个,避免处理所有页面(出于速度原因)?
- javascript - 节点“require”语法创建模块的新引用
- javascript - 如何将 setTimeout 操作更改为 requestAnimationFrame?
- java - Weblogic 和 log4j