New

Just launched: Vueblocks, a brand-new search engine for Vue packages! Explore Vueblocks →

halalsoft/laravel-google-cloud-storage

A Google Cloud Storage flysystem for Laravel
5,151 1
Install
composer require halalsoft/laravel-google-cloud-storage
Latest Version:v0.2.2
PHP:>=7.0.0
Laravel:4 – 8
License:MIT
Last Updated:Oct 14, 2021
Links: GitHub  ·  Packagist
Maintainer: dyaskur

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');

Related Packages

amelia/backblaze

Backblaze laravel storage adapter

885 5
alinauf/laravel-azure-storage

Azure Blob Storage filesystem driver for Laravel using REST API

2,479 1
jeffersongoncalves/flysystem-google-drive

A League Flysystem v3 adapter for Google Drive, with a zero-config Laravel drive...

1,015 2
ptuchik/core-utilities

Core utilities for Laravel to extend some functionality and prepare project for...

19,424 3

Version History

Version Released PHP Laravel License
v0.2.2 >=7.0.0 * MIT
v0.2.1 >=7.0.0 * MIT
v0.2.0 >=7.0.0 * MIT
v0.1.2 >=7.0.0 * MIT
v0.1.1 >=5.6.0 * MIT