pvlima/img-manager

图像管理和上传插件

1.0.2 2019-02-18 16:16 UTC

This package is auto-updated.

Last update: 2024-09-19 10:16:23 UTC


README

图像管理和上传插件。非常简单易用,适用于任何项目。

安装

建议使用 composer 安装此包。只需在终端中输入以下命令

  composer require pvlima/img-manager

先决条件

需要在 php 中启用 GD 库

在 php.ini 文件中取消以下行的注释

  ;extension=php_gd2.dll

只需去掉行首的点号和分号 ";",然后重新启动服务器

示例

HTML 表单

<form action="" method="post" enctype="multipart/form-data">
    <input type="file" name="img">
    <input type="submit" value="Enviar" name="submit">
</form>

PHP 文件

Pvlima\ImgManager\ImgManager 类的构造函数应该接收一个编码为 base64 的图像,因为它可以加速整个过程,并简化前端插件(如 JavaScript 插件)的实现,因为大多数插件会将编码为 base64 的图像传递给后端。如果您不使用任何前端插件(例如裁剪插件),您必须在 PHP 中编码图像。例如:

include 'vendor/autoload.php';

$data = base64_encode(file_get_contents($_FILES['img']['tmp_name']));

$img = new Pvlima\ImgManager\ImgManager($data);

#Diretório onde a imagem vai ser salva
$img->setFilePath(__DIR__ . '/imgs');

#Salva a imagem e retorna o nome do arquivo
echo $img->save();

其他设置

include 'vendor/autoload.php';

$data = base64_encode(file_get_contents($_FILES['img']['tmp_name']));

$img = new Pvlima\ImgManager\ImgManager($data);

->setFilePath() 的第二个参数是自定义文件名(可选)

  $img->setFilePath(__DIR__ . '/imgs', 'nome-da-imagem')

您还可以指定图像的输出扩展名(".png", ".gif", ".wbmp")。默认值为 ".jpg"。

->setExt('.png')

图像的分辨率(宽度,高度)以像素为单位。第二个参数(高度)是可选的,即如果未提供,将根据原始图像计算一个比例值。如果提供了且不在比例范围内,则图像可能会被裁剪以瞄准中心,除非随后立即调用 ->distort() 函数,因为在这种情况下,图像将被扭曲。

->setResolution(640)

或者

->setResolution(640, 800)

为了在宽度和高度不按比例的情况下扭曲图像而不裁剪,

->distort()

保存图像并返回文件名

echo $img->save();