【问题标题】:How can I delete an object from the Google Cloud Storage using PHP?如何使用 PHP 从 Google Cloud Storage 中删除对象?
【发布时间】:2014-01-30 18:19:40
【问题描述】:

谁能告诉我如何使用 PHP 从 Google Cloud Storage 中删除对象?

我找到了如何通过

添加对象
move_uploaded_file($gs_name, "gs://sample-storage/myfolder/new_file2.jpg");

通过

获取公共 URL
$public_url = CloudStorageTools::getPublicUrl("gs://sample-storage/myfolder/new_file2.jpg", true);

通过导入以下内容

require_once 'google/appengine/api/cloud_storage/CloudStorageTools.php';
use google\appengine\api\cloud_storage\CloudStorageTools;

但是如何使用 PHP删除文件?

有人可以分享PHP中有效的代码吗?如果 PHP 不隐式支持它,即使使用 JavaScript。

【问题讨论】:

  • PHP 的任何文件函数都应该与gs:// 方案路径一起正常工作。

标签: php google-app-engine


【解决方案1】:

delete_object 示例中,您可以尝试将这样的函数添加到您的项目中:

function delete_object($bucketName, $objectName, $options = [])
{
    $storage = new StorageClient();
    $bucket = $storage->bucket($bucketName);
    $object = $bucket->object($objectName);
    $object->delete();
    printf('Deleted gs://%s/%s' . PHP_EOL, $bucketName, $objectName);
}

然后要删除实际文件,您可以使用如下函数:

delete_object('sample-storage', 'myfolder/new_file2.jpg');

【讨论】:

  • 这应该是公认的答案...另一个答案将不起作用,因为它不在您的文件系统中。
【解决方案2】:

您可以使用 unlink (http://www.php.net/manual/en/function.unlink.php) 来执行此操作,例如

unlink("gs://sample-storage/foo.jpg");

【讨论】:

    猜你喜欢
    • 2014-02-12
    • 1970-01-01
    • 1970-01-01
    • 2017-07-30
    • 2015-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-26
    相关资源
    最近更新 更多