learncodeweb/filesupload

一个用于上传多个文件的非常简单的(GD库图像处理)类。您可以创建多个缩略图,添加水印(文本/图像),调整图像大小和更改图像质量。您还可以使用此类与任何PHP框架一起使用,已测试与Laravel 8和Laravel 9兼容。

dev-main 2024-09-18 02:02 UTC

This package is auto-updated.

Last update: 2024-09-18 02:02:50 UTC


README

一个PHP基类,您可以使用它将任何文件上传到服务器。这是一个非常轻量级的类,可高度自定义。您可以使用此类与任何框架或核心PHP一起使用。

GitHub GitHub file size in bytes Packagist Downloads GitHub repo size

Donate with love Donate with love

依赖关系

此类基于GD库进行图像处理。如果您没有这个库,请安装它或将其在php.ini中启用。要安装GD库,请使用以下命令。

sudo apt-get install php-gd

安装后,请确保您有一个gd.ini文件,然后打开php.ini文件,找到以下内容。

;extension=gd

移除注释 [ ; ] 并将其更改为以下内容。

extension=gd

Composer安装

composer require learncodeweb/filesupload:dev-main

安装后,使用以下命令帮助重新创建autoload文件。

composer dump-autoload

如何导入到项目中

在laravel 8+(已测试)

use anyFileUpload\FilesUploadAndImageResize as anyFilesUpload;

$files = new anyFilesUpload('array', ['jpg', 'jpeg', 'png'], public_path('uploads'), 0777);
$files->uploadFiles('files', 250, [], '', 100, '850', ['350']);

dd($files->uploadedData);

在核心PHP中,只需将autoload.php文件添加到您的项目,如下所示。

required('.../vendor/autoload.php');
$upload    =    new anyFileUpload\ImageUploadAndResize('array', ['jpeg', 'jpg', 'png'], '../uploads', 0655);
$upload->uploadFiles('files', 250, '', $rename, 100, '850', ['350','450']);

类选项和功能

一个PHP基类,您可以使用它将任何文件上传到服务器。这是一个非常轻量级的类,可高度自定义。您可以使用此类与任何框架或核心PHP一起使用。

  1. 上传单个或多个文件。
  2. 上传任何类型的文件(不仅是图像)。
  3. 图像文件可以调整大小。
  4. 创建图像缩略图(保持图像宽高比)。
  5. 您可以添加水印(文本、图像)。
  6. 易于与表单集成。
  7. 在一个上传中创建任意数量的缩略图。
  8. 自定义缩略图文件夹的路径。
  9. 自定义缩略图大小和尺寸。
  10. 文件扩展名过滤器。
  11. 上传文件大小限制。

在构造函数中需要设置的参数

在方法中需要设置的参数

如何直接使用

require('../FilesUploadAndImageResize.php'); // File direct access
$rename    =    rand(1000, 5000) . time(); // left empty if you want the real file name
$upload    =    new anyFileUpload\ImageUploadAndResize('array', ['jpeg', 'jpg', 'png'], '../uploads', 0655);
$upload->uploadFiles('files', 250, '', $rename, 100, '850', ['350','450']);

对于水印,您将使用一个数组,并能够添加图像作为水印或文本。

以下为文本水印的参数

[
    'value' => "HI I AM ZAID",
    'font-size' => 50,
    'font-family' => "../fonts/Myriad-Pro-Regular.ttf",
    'font-color' => '#0a103e',
    'position-x' => 400,
    'position-y' => 100
];

以下为图像水印的参数

[
    'value' => "your-image-complete-path",
    'position-x' => 400,
    'position-y' => 100
];

响应将如下所示

在以下响应中,您将获得上传/未上传/不良扩展名以及成功/错误标志的数组或JSON数据。

print "<pre>";
print_r($upload->uploadedData);
print "</pre>";

在服务器上更改上传文件大小

可能存在服务器上未设置上传文件大小的情况,服务器上的默认值为2MB。如果您遇到此类问题,只需找到您的php.ini文件的正确路径,并更改以下两个参数。

upload_max_filesize = 2M
post_max_size = 8M

更改为以下内容。

upload_max_filesize = 100M
post_max_size = 150M

记住

post max size 应大于 upload max filesize。

Donate with love Donate with love