|

|  How to Implement Google Cloud Storage API in PHP

How to Implement Google Cloud Storage API in PHP

October 31, 2024

Learn to use Google Cloud Storage API in PHP with our step-by-step guide. Simplify cloud storage tasks with code snippets and practical examples.

How to Implement Google Cloud Storage API in PHP

 

Set Up Composer and Install Google Cloud Client Library

 

  • Ensure you have Composer installed on your system. If you haven't set it up, do so by downloading Composer and following the installation instructions appropriate for your operating system.
  •  

  • Initialize a new PHP project or navigate to your existing PHP project directory. Use Composer to install the Google Cloud Client Library for PHP by running the following command in your terminal:

 

composer require google/cloud-storage

 

Configure Google Cloud Credentials

 

  • Create a service account in your Google Cloud project. Download the JSON key file to your project directory. This file contains the credentials needed to authenticate requests.
  •  

  • Set the `GOOGLE_APPLICATION_CREDENTIALS` environment variable to the path of your JSON key file. This will allow the client library to authenticate API requests using the service account credentials.

 

putenv('GOOGLE_APPLICATION_CREDENTIALS=' . __DIR__ . '/path/to/your/key-file.json');

 

Initialize the Google Cloud Storage Client

 

  • In your PHP script, include the autoload file generated by Composer to load the Google Cloud Client Library. Then, instantiate the `Google\Cloud\Storage\StorageClient` class to interact with Google Cloud Storage.

 

require 'vendor/autoload.php';

use Google\Cloud\Storage\StorageClient;

$storage = new StorageClient([
    'projectId' => 'your-project-id'
]);

 

Create or Access a Bucket

 

  • To create a new bucket or access an existing one, use the `bucket` method of the `StorageClient`. This method accepts the name of the bucket you wish to access or create.

 

$bucketName = 'your-bucket-name';
$bucket = $storage->bucket($bucketName);

// To create a new bucket (if necessary)
if (!$bucket->exists()) {
    $bucket = $storage->createBucket($bucketName);
}

 

Upload a File to the Bucket

 

  • To upload files to the bucket, use the `upload` method of the `Bucket` class. This method requires the path to the file and any additional options you wish to specify.

 

$objectName = 'your-object-name';
$filePath = '/path/to/your/file.txt';

$object = $bucket->upload(
    fopen($filePath, 'r'),
    ['name' => $objectName]
);

 

Download a File from the Bucket

 

  • To download a file from Google Cloud Storage, use the `downloadToFile` method, which will save the object to the specified local path.

 

$object = $bucket->object($objectName);
$downloadToPath = '/path/to/downloaded/file.txt';

$object->downloadToFile($downloadToPath);

 

Delete a File from the Bucket

 

  • If you need to remove an object from the bucket, you can use the `delete` method on the `Object` instance.

 

$object = $bucket->object($objectName);
$object->delete();

 

List Files in the Bucket

 

  • To retrieve a list of files in a bucket, iterate over the result of the `objects` method from your bucket instance. This method returns an iterator of `Object` instances.

 

foreach ($bucket->objects() as $object) {
    echo $object->name() . PHP_EOL;
}