繁体   English   中英

如何在wordpress帖子中列出存储在谷歌云存储桶中的文件?

[英]How to list files stored in google cloud storage bucket in wordpress post?

是否可以列出我的 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 API 交互并获取 GCS 存储桶中的对象列表。

类似的答案可以在这里找到: Get list of Files in Google Cloud Storage (Appengine PHP)

Google Cloud Storage 没有文件夹结构。 How Subdirectories Work对于某些背景来说是一本很好的读物。

实际上,Google 提供的Wordpress 站点中列出了一个插件,还有另一个在社区中广泛传播的插件,称为WP-Stateless

如果您想使用官方存储 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"]);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM