macroscope29 / yii2-file-upload
Yii2 FileUpload – 用于将文件上传到本地服务器或Amazon S3的PHP库
Requires
- php: >=5.5.0
- aws/aws-sdk-php: 2.*
- yiisoft/yii2: *
Requires (Dev)
- phpunit/phpunit: 5.5.*
- squizlabs/php_codesniffer: 2.*
This package is auto-updated.
Last update: 2024-09-15 04:47:28 UTC
README
Yii2 FileUpload – 用于将文件上传到您的服务器或Amazon S3的PHP库。它使开发者能够轻松处理yii2的UploadedFile实例。也可以通过外部来源的URL上传文件。
入门指南
安装
安装此扩展的首选方法是通过 composer。
注意:请检查此扩展的composer.json文件中的要求和相关依赖项。请阅读此web提示/wiki,了解如何为您的应用程序的composer.json设置
minimum-stability
设置。
运行以下命令之一:
$ php composer.phar require vlaim/yii2-file-upload "dev-master"
或添加
"vlaim/yii2-file-upload": "dev-master"
到您的composer.json
文件的require
部分。
不要忘记包含Composer自动加载器并定义库的命名空间
<?php require '/path/to/vendor/autoload.php'; use vlaim\fileupload\FileUpload;
快速示例
将文件上传到您的本地服务器
$photo = UploadedFile::getInstance($model, 'photo'); $uploader = new FileUpload(FileUpload::S_LOCAL);
将文件上传到Amazon S3
此代码将文件上传到Amazon S3。您必须在FileUpload构造函数的第二个参数中提供一个关联数组,如下所示
$photo = UploadedFile::getInstance($model, 'photo'); $uploader = new FileUpload(FileUpload::S_S3, [ 'version' => 'latest', 'region' => '<regiongoeshere>', 'credentials' => [ 'key' => '<keygoeshere>', 'secret' => '<secretgoeshere>' ], 'bucket' => '<bucketgoeshere>' ]);
方法
setUploadFolder(string $folder)
设置文件上传到的文件夹名称。
默认为 'uploads'
$uploader->setUploadFolder('photos');
setFsPath(string $fsPath)
(仅限本地模式)
设置文件上传到的路径。您可以提供绝对或相对路径
默认为 /
$uploader->setFsPath('/var/www/path/to/your/app/');
setFsUrl(string $url)
(仅限本地模式)
设置URL。例如,如果您将路径设置为 'http://static.example.com',则上传后的文件将具有URL http://static.example.com/path/to/your/file
默认为 /
$uploader->setFsPath('http://pathtoyoursite.com');
hashFilename(boolean $hash)
定义是否需要使用md5算法对上传文件名进行哈希处理
md5($fileName . time() . mt_rand(0, 30) // file.png upload filename will be 2122c3a6ad9997af28cab44b7fe7ab90.jpg
默认为 true
$uploader->hashFilename(false);
setACL(string $acl)
设置访问控制列表。
更多信息请参阅http://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html
$uploader->setACL('public-read');
捕获和处理异常
要捕获异常,请使用FileUploadException类
<?php use vlaim\fileupload\FileUploadException; try{ //your code goes here } catch(FileUploadException $e){ echo $e->getMessage(); }
测试
即将推出 :)
问题
可以通过Github Issue Tracker提交错误报告和功能请求。
许可
yii2-file-upload在MIT许可下发布。有关详细信息,请参阅附带的LICENSE.md文件。