mohamed-amine / file-uploader
一个轻量级的PHP脚本,可以轻松上传你的文件/图片,并具有压缩和调整大小等酷炫功能
v4.0
2024-06-06 22:16 UTC
Requires
- php: ^8.3
- phpunit/phpunit: ^11.1
This package is auto-updated.
Last update: 2024-09-07 00:32:37 UTC
README
简单易用的PHP文件上传器
通过composer安装
composer require mohamed-amine/file-uploader
如何使用
HTML
单文件上传
<form method="POST" enctype="multipart/form-data"> <input type="file" name="myfile" /><br> <input type="submit" value="Upload File"/> </form>
多文件上传
<form method="POST" enctype="multipart/form-data"> <input type="file" name="myfile[]" /><br> <input type="file" name="myfile[]" /><br> <input type="file" name="myfile[]" /><br> <input type="submit" value="Upload File"/> </form>
简单文件上传
注意:每个验证或其他过程都应该在上传之前完成(调用save()方法)。
<?php // create uploader instance $file = Upload\Upload('myfile'); // upload files to defined directory $data = $file->save('myDirectory'); var_dump($data); // this will output an array which contains uploaded files data // [ // 'id' => 'sf23s6sdf23s', // 'name' => 'myFileName', // 'path' => 'document/images/photo.jpg' // ] // // Or in case of multi file upload // // [ // [ // 'id' => 'er23sfd3p4uo ', // 'name' => 'photo1', // 'path' => 'document/images/photo1.jpg' // ], // [ // 'id' => 'sf23s6sdf23s', // 'name' => 'photo2',d // 'path' => 'document/images/photo2.jpg' // ] // ] //
验证
可用的验证方法有
- size(float $min, float $max) 最小和最大值以MB为单位
- extension(array $allowed)
- number(int $min, int $max = null)
$file = Upload\Upload('myfile'); // validate $file->validate()->extension(['jpg', 'gif'])->size(0.5, 10)->number(2); // check for validation errors if ($file->isValide()) { var_dump($file->getErrors(); } // upload files $file->save('myDirectory');
处理上传的文件
注意:此函数需要服务器上安装php-gd。目前只能处理图片,可用方法有
- compress(int $quality) 注意:压缩级别0到100,数值越低表示压缩程度越高,质量越低
- resize(int $width, int $height)
- setName(array $names)
$file->process()->compress(75)->resize(500, 800)->setName(['firstname', 'secondname']); // or $file->process()->compress(75); $file->process()->resize(500, 800); $file->process()->setName(['firstname', 'secondname']); $file->save('myDirectory');
贡献
任何贡献都将受到欢迎。