Google Cloud Storage のバケット上のファイルをPHPで削除する

はじめに

今回はバケット上にアップロードされているファイルをPHPで削除する方法を書きたいと思います。

 

バケットに画像をアップロード

まずはバケットに画像をアップロードします。

 

PHPでバケットにアップロードするには、下の記事を参考↓

Google Cloud Storage にPHPを使ってファイルをアップロードする

 

今回は、「kabanoki」というバケットに、「file/img.png」を設置しました。

 

 

対象のオブジェクト(ファイル)を選択

バケットから画像を削除するには、対象の画像を選択する必要があります。

それには、以下の方法を行います。

require __DIR__ . '/vendor/autoload.php';

use Google\Cloud\Storage\StorageClient;

// プロジェクトIDを入力
$projectId = 'hoge-23rfwe4';
// 認証鍵までのディレクトリを入力
$auth_key = './iam/kabanoki-bf1cc-f7706c743b95.json';
// バケットの名前を入力
$bucket_name = 'kabanoki';
// アップロードファイル名を入力
$file_name = 'img.png';
// バケット内に作成したいディレクトリを指定する
$dir = 'file/';


$storage = new StorageClient([
   'projectId' => $projectId,
   'keyFile' => json_decode(file_get_contents($auth_key, TRUE), true)
]);

$bucket = $storage->bucket($bucket_name);

$options = [
   'name' => $dir.$file_name
];

// 対象のオブジェクトを選択
$object = $bucket->object(
   $options['name']
);

// 対象のオブジェクトが存在するか確認
var_dump($object->exists()); // trueなら存在する

 

 

対象のオブジェクト(画像)を削除する

オブジェクトが存在するのが確認できたら削除を行ってみます。

require __DIR__ . '/vendor/autoload.php';

use Google\Cloud\Storage\StorageClient;

// プロジェクトIDを入力
$projectId = 'hoge-23rfwe4';
// 認証鍵までのディレクトリを入力
$auth_key = './iam/kabanoki-bf1cc-f7706c743b95.json';
// バケットの名前を入力
$bucket_name = 'kabanoki';
// アップロードファイル名を入力
$file_name = 'img.png';
// バケット内に作成したいディレクトリを指定する
$dir = 'file/';


$storage = new StorageClient([
   'projectId' => $projectId,
   'keyFile' => json_decode(file_get_contents($auth_key, TRUE), true)
]);

$bucket = $storage->bucket($bucket_name);

$options = [
   'name' => $dir.$file_name
];

$object = $bucket->object(
   $options['name']
);

// オブジェクトの存在を確認
if($object->exists()){
   $object->delete();// オブジェクトを削除する
   echo '['.$options['name'].']を削除しました。';
}

 

これでバケットにアップロードされた画像が削除されたと思います。

いかがでしょうか?

今日はこの辺でー

 

 

  • この記事を書いた人

カバノキ

印刷会社のWEB部隊に所属してます。 WEB制作に携わってから、もう時期10年になります。 普段の業務では、PHPをメインにサーバーサイドの言語を扱っています。 最近のお気に入りはJavascriptです。 Vue.jsを狂喜乱舞しながら、社内に布教中です。

-GCP
-, , , ,