anonym-php/anonym-upload

AnonymFramework 新专业 PHP 框架上传库

dev-master / 1.2.x-dev 2015-08-08 14:12 UTC

This package is not auto-updated.

Last update: 2024-09-14 17:48:25 UTC


README

SensioLabsInsight Build Passing Licanse:MIT

使用 AnonymPHP Uploader,您可以轻松上传单个和多个图片及普通文件。

建议您配置服务器以支持 max_post 和 gd 等库。

注意:为了确保上传操作成功,您必须正确设置文件的权限。

安装

Anonym Uploader 基于 composer autoload 系统构建,建议使用 composer 使用。

修改 Composer.json 文件

 "require": {
    "anonym-php/anonym-upload": "dev-master"
  }

运行 Composer

composer install

启用 Autoload 事件

启用 Autoload 事件后,您需要在文件中包含 "vendor/autoload.php"。

include "vendor/autoload.php";

上传操作

本部分将介绍如何以单个和多个方式上传文件。

单个文件上传

use Anonym\Components\Upload\FileUpload;

$upload = new FileUpload($_FILES['upload'], 'hedef');
var_dump($upload->upload());

单个图片上传

use Anonym\Components\Upload\ImageUpload;

$upload = new ImageUpload($_FILES['upload'], 'hedef');
var_dump($upload->upload());

向 FTP 上传单个文件

在向 FTP 上传单个文件时,与常规上传不同,您需要在第一个参数中输入 FTP 信息。

use Anonym\Components\Upload\Ftp\FtpUpload;

$upload = new FtpUpload([
   'username' => 'ftpkullanıcıadı',
   'password' => 'ftpşifresi',
   'host' => 'ftpsucusu'
],$_FILES['upload'], 'hedef');
var_dump($upload->upload());

向 FTP 上传单个图片

use Anonym\Components\Upload\Ftp\FtpImageUpload;

$upload = new FtpImageUpload([
   'username' => 'ftpkullanıcıadı',
   'password' => 'ftpşifresi',
   'host' => 'ftpsucusu'
],$_FILES['upload'], 'hedef');
var_dump($upload->upload());

多个文件上传

在多个文件上传操作中,返回的数据是一个数组,您需要自行处理这些数据。例如;

use Anonym\Components\Upload\Multiple\MultipleUpload;

$upload = new MultipleUpload($_FILES['upload'], 'hedef');
print_r($upload->upload()); // array

多个图片上传

在多个文件上传操作中,返回的数据是一个数组,您需要自行处理这些数据。例如;

use Anonym\Components\Upload\Multiple\MultipleImageUpload;

$upload = new MultipleImageUpload($_FILES['upload'], 'hedef');
print_r($upload->upload()); // array

向 FTP 上传多个文件

在向 FTP 地址上传多个文件时,与常规上传不同,您需要在第一个参数中输入 FTP 信息。

use Anonym\Components\Upload\Multipile\FtpMultipileUpload;

$upload = new FtpMultipileUpload([
   'username' => 'ftpkullanıcıadı',
   'password' => 'ftpşifresi',
   'host' => 'ftpsucusu'
],$_FILES['upload'], 'hedef');
print_r($upload->upload()); // array

向 FTP 上传多个图片

在向 FTP 地址上传多个文件时,与常规上传不同,您需要在第一个参数中输入 FTP 信息。

use Anonym\Components\Upload\Multipile\FtpMutlipileImage;

$upload = new FtpMutlipileImage([
   'username' => 'ftpkullanıcıadı',
   'password' => 'ftpşifresi',
   'host' => 'ftpsucusu'
],$_FILES['upload'], 'hedef');
print_r($upload->upload()); // array

辅助函数

在这里您可以找到在上传过程中辅助您的函数。

扩展名控制

此功能检查文件中所需的扩展名,第一个参数是必需的,第二个参数中不应包含的扩展名,例如;

$upload->setAllowedExt(['png', 'jpg','gif'],'.php');

MIME 类型控制

您可以检查文件具有的 MIME 类型,例如

$upload->setAllowedMimeTypes(['image/png', 'image/jpeg']);

文件大小控制

您可以检查您要上传的文件可能具有的最大大小。如果以字节为单位,则参数为整数值,如果要以 mb,kb,gb,tb 等值表示,则参数为字符串,在文件大小后附加类型。

$upload->setMaxSize(1024); // 1024 byte => 1kb
$upload->setMaxSize('1MB'); // 1 mb

文件名编辑

您可以更改文件上传时的文件名。

$upload->setNewName('yenidosyaismi');

如果您希望文件名随机生成,则

use Anonym\Components\Upload\NewNameGenerator;
$upload->setNewName(new NewNameGenerator());

上传后的操作

如果您使用 FileUploadImageUpload 类进行上传,您将获得 FileCapsuleImageCapsule 等类。让我们看看您可以使用这些类做什么。

获取文件信息

  $name = $upload->getName(); 
  // dosyanın adını döndürür 
  // örnek:test.png
   $filePath  = $upload->getFilePath(); 
   // dosyanın tüm uzantısını dönrürür
   // örnek :: upload/test.png
   $size = $upload->getSize(); 
   // dosyanın byte tipinindeki boyutunu döndürür
   // örnek : 1001233
   $ext = $upload->getExt();
   // dosyanın uzantısını döndürür
   // örnek : png
   $target = $upload->getTarget();
   // dosyanın kaydedildiği dosyanın yolunu verir
   // örnek : upload

您也可以这样访问相同的数据

  $name = $upload['name'];
  // dosyanın adını döndürür 
  // örnek:test.png
   $filePath  = $upload['filepath'];
   // dosyanın tüm uzantısını dönrürür
   // örnek :: upload/test.png
   $size = $upload['size'];
   // dosyanın byte tipinindeki boyutunu döndürür
   // örnek : 1001233
   $ext = $upload['ext'];
   // dosyanın uzantısını döndürür
   // örnek : png
   $target = $upload['target'];
   // dosyanın kaydedildiği dosyanın yolunu verir
   // örnek : upload

对文件进行简单操作

本部分包含对文件的复制、移动和删除操作。

复制文件

此操作接受第一个参数作为要复制到的路径;

    $upload->copy($target);

移动文件

此操作接受第一个参数作为要移动到的路径;

    $upload->move($target);

删除文件

此操作删除文件并结束类;

    $upload->delete();

对图片进行高级操作

本部分将介绍在通过 ImageUpload 类进行上传后,使用生成的 ImageCapsule 类可以进行图片压缩、重新调整大小、旋转和格式转换。

转换为 PNG 格式

如果上传的文件不是 .png 格式,您可以将其转换为 .png 格式。

    $upload->convertToPng();

转换为 JPG 格式

如果上传的文件不是 .jpg 格式,您可以将其转换为 .png 格式。

    $upload->convertToJpg();

转换为 GIF 格式

如果上传的文件不是 .gif 格式,您可以将其转换为 .gif 格式。

    $upload->convertToGif();

压缩图片

上传文件后,您可以对其进行压缩以减小其大小

  $upload->compress(90);

参数为降低图片质量的百分比。

旋转图片

您可以旋转图片,使其向右、向左、向上或向下旋转。参数为旋转角度。

  $upload->rotate(90);

重新调整图片大小

可用于重新调整文档大小,第一个参数接收宽度值,第二个参数接收高度值。

  $upload->reSize(400, 500);