Skip to content

HalalSoft/laravel-google-cloud-storage

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Laravel Google Cloud Storage

A Google Cloud Storage filesystem for Laravel.

StyleCI Scrutinizer Code Quality Codacy Badge Code Intelligence Status Build Status GitHub repo size Software License GitHub top language Packagist Version Total Downloads

This is using flysystem-aws-s3-v3. Because Google Cloud Storage uses the same api as Amazon S3, so actually I just use the same driver but I renamed to gcs.

Installation

composer require halalsoft/laravel-google-cloud-storage

Add a new disk to your filesystems.php config

'gcs' => [
        'driver'   => 'gcs',
        'key'      => env('GCP_ACCESS_KEY_ID'),
        'secret'   => env('GCP_SECRET_ACCESS_KEY'),
        'bucket'   => env('GCP_BUCKET'),
],

Above is the config that required, here is other possible configs:

'gcs' => [
        'driver'   => 'gcs',
        'key'      => env('GCP_ACCESS_KEY_ID'),
        'secret'   => env('GCP_SECRET_ACCESS_KEY'),
        'bucket'   => env('GCP_BUCKET'),
        'visibility' => 'public', //Default visibility, you can set public or private
        'url'    => "https://custom.domain.com", //Your public URL (if you use custom domain or CDN)
        'endpoint' => "https://storage.googleapis.com", //Your endpoint URL (if you use custom driver)
        'cache' => [
            'store' => 'memcached',
            'expire' => 600,
            'prefix' => 'cache-prefix',
          ],
],

Usage

You can use most of Laravel Filesystem API

Examples:

$disk = Storage::disk('gcs');

// create a file
$disk->put('avatars/1', $request->file("image"));

// check if a file exists
$exists = $disk->exists('image.jpg');

// get file last modification date
$time = $disk->lastModified('image1.jpg');

// copy a file
$disk->copy('old/image1.jpg', 'new/image1.jpg');

// move a file
$disk->move('old/image1.jpg', 'new/image1.jpg');

// get url to file
$url = $disk->url('avatar/yaskur.jpg');

About

A Google Cloud Storage flysystem for Laravel

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages