mxrotha / tinypng-laravel
Tinify API support with laravel
1.0.3
2019-11-06 03:11 UTC
Requires
- php: >=5.5.0
- illuminate/support: ~5.2
- tinify/tinify: *
This package is auto-updated.
Last update: 2024-11-06 14:28:36 UTC
README
Tinify API support with laravel
Install
$ composer require mxrotha/tinify-laravel
Add this to your config/app.php,
under "providers":
mxrotha\LaravelTinify\LaravelTinifyServiceProvider::class,
under "aliases":
'Tinify' => mxrotha\LaravelTinify\Facades\Tinify::class
And set a env variable TINIFY_APIKEY
with your tinypng api key.
If you want to directly upload the image to aws s3
, you need set the env variables of following with your aws s3 credentials.
S3_KEY= S3_SECRET= S3_REGION= S3_BUCKET=
Examples
$result = Tinify::fromFile('\path\to\file'); $result = Tinify::fromBuffer($source_data); $result = Tinify::fromUrl($image_url); /** To save as File **/ $result->toFile('\path\to\save'); /** To get image as data **/ $data = $result->toBuffer();
$s3_result = Tinify::fileToS3('\path\to\file', $s3_bucket_name, '/path/to/save/in/bucket'); $s3_result = Tinify::bufferToS3($source_data, $s3_bucket_name, '/path/to/save/in/bucket'); $s3_result = Tinify::urlToS3($image_url, $s3_bucket_name, '/path/to/save/in/bucket'); /** To get the url of saved image **/ $s3_image_url = $s3_result->location(); $s3_image_width = $s3_result->width(); $s3_image_hight = $s3_result->height();
NOTE:
All the images directly save to s3 is publicably readable. And you can set permissions for s3 bucket folder in your aws console to make sure the privacy of images.