anonym-php / anonym-upload
AnonymFramework 新专业 PHP 框架上传库
Requires
- php: >=5.4.0
This package is not auto-updated.
Last update: 2024-09-14 17:48:25 UTC
README
使用 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());
上传后的操作
如果您使用 FileUpload
或 ImageUpload
类进行上传,您将获得 FileCapsule
和 ImageCapsule
等类。让我们看看您可以使用这些类做什么。
获取文件信息
$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);