目次
はじめに
今回はバケット上にアップロードされているファイルをPHPで削除する方法を書きたいと思います。
バケットに画像をアップロード
まずはバケットに画像をアップロードします。
PHPでバケットにアップロードするには、下の記事を参考↓
https://www.kabanoki.net/2312
今回は、「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'].']を削除しました。'; }
これでバケットにアップロードされた画像が削除されたと思います。
いかがでしょうか?
今日はこの辺でー