利用chatGPT用ThinkPHP6的topthink/think-filesystem与topthink/think-image生成上传图片,生成缩略图,加水印功能

未经实测,可以参考:

1.安装两个插件

2. 修改config\filesystem.php文件

// 配置文件上传
'filesystem' => ['default' => 'local','disks' => ['local' => ['type' => 'local','root' => app()->getRootPath() . 'public/uploads','url' => '/uploads/','visibility' => 'public',],],
],// 配置图片处理
'image' => ['driver' => 'imagick', // 或者gd'watermark' => 'watermark.png', // 水印图片路径
],

3.使用这两个插件来实现上传图片、生成缩略图、加水印等功能

use think\Image;
use think\facade\Filesystem;// 上传文件
$path = Filesystem::disk('local')->putFile('images', $file);// 生成缩略图
$thumbnailPath = 'images/thumbnail.jpg';
Image::open($file->getRealPath())->thumb(100, 100)->save($thumbnailPath);// 加水印
$watermarkPath = 'images/watermark.jpg';
Image::open($file->getRealPath())->water($watermarkPath, Image::WATER_SOUTHEAST)->save($watermarkPath);

需要注意的是,生成缩略图和加水印的操作都是在本地进行的,如果需要在分布式环境下使用,可以使用其他的存储驱动,例如阿里云OSS、七牛云等,详细使用方法可以参考topthink/think-filesystem的文档。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部