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;
}