jukuan / img-to-web
将图像转换为适合网页的格式(或 JPG、PNG)
1.0.1
2023-05-22 21:49 UTC
Requires
- php: >=7.4
- ext-fileinfo: *
- ext-gd: *
Requires (Dev)
- phpunit/phpunit: ^10.1
- vimeo/psalm: ^5.11
README
imgToWebp 是一个 PHP 库,用于将图像(JPG、PNG、WebP)转换为其他格式(默认为 webp)并在实时中调整大小。它提供了一个现代的替代方案,用于旧的 TimThumb 脚本文件,允许您轻松地在 PHP 应用程序中生成图像的调整大小版本。
特性
- 将图像转换为 WebP、JPG 或 PNG 格式
- 实时调整图像大小
- 使用 GD 库高效处理图像
- 易于使用并与现有的 PHP 应用程序集成
要求
- PHP 8.1 或更高版本
- PHP 的 GD 扩展
安装
您可以通过 composer 安装 imgToWebp 或
简单地克隆或下载存储库,并将文件包含到您的 PHP 应用程序中
用法
检查测试目录。其中有几个示例说明如何使用它。要使用 imgToWebp,只需创建一个新的 imgToWebp
对象,并使用源和目标路径调用 convert()
方法
您可以使用以下 PHP 代码
try { $imagePath = (new ImgConvertorService()) ->setDirs($resizedImgDir, __DIR__) ->prepareImagePath(); (new Response())->doImageOutput($imagePath); } catch (\Exception $e) { // handle an error }
用于 Laravel 的示例
use Jukuan\ImgToWeb\Service\ImgConvertorService; use Jukuan\ImgToWeb\Http\Response as ImgToWebResponse; Route::get('img', function () { $sourceImgDir = public_path(''); $resizedImgDir = public_path('resized'); try { $imagePath = (new ImgConvertorService()) ->setDirs($resizedImgDir, $sourceImgDir) ->prepareImagePath(); (new ImgToWebResponse())->doImageOutput($imagePath); } catch (\Exception $e) { abort(404); } });
在 URL 中,您可以指定附加选项,例如宽度、高度、输出文件的扩展名:例如:https://example.com/resizer/?img=static/uploads/guy.jpg&w=120
安全注意事项
请注意,imgToWebp 是“按原样”提供的,没有任何保证,允许 PHP 脚本对目录有写入访问可能有点危险。在生产环境中使用 imgToWebp 时请谨慎,并确保您的应用程序有适当的安全措施。
许可协议
imgToWebp 在 MIT 许可协议下发布。有关更多信息,请参阅 LICENSE
文件。
贡献
欢迎为 imgToWebp 贡献!如果您发现错误或有功能请求,请打开问题或提交拉取请求。
鸣谢
imgToWebp 由 [Julian M.] 创建。该脚本灵感来源于 TimThumb 库。
联系
如果您对 imgToWebp 有任何问题或反馈,请联系我们 [i[at]juljan.by]。