yasmuru / ys-tinify-laravel
支持laravel的Tinify API
v1.0.2
2018-01-25 09:45 UTC
Requires
- php: >=5.5.0
- illuminate/support: ~5.2
- tinify/tinify: *
This package is not auto-updated.
Last update: 2024-09-22 03:52:17 UTC
README
支持laravel的Tinify API
安装
$ composer require yasmuru/ys-tinify-laravel
将以下代码添加到您的config/app.php文件中,
在"providers"部分下
yasmuru\LaravelTinify\LaravelTinifyServiceProvider::class,
在"aliases"部分下
'Tinify' => yasmuru\LaravelTinify\Facades\Tinify::class
并设置一个环境变量TINIFY_APIKEY
,使用您的tinypng API密钥。
如果您想直接将图像上传到aws s3
,您需要使用您的aws s3凭据设置以下环境变量。
S3_KEY= S3_SECRET= S3_REGION= S3_BUCKET=
示例
$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();
注意:
所有直接保存到s3的图像都可以公开读取。您可以在aws控制台中设置s3存储桶文件夹的权限,以确保图像的隐私。