vlaim/yii2-file-upload

该包已被废弃,不再维护。未建议替代包。

Yii2 FileUpload – 用于将文件上传到本地服务器或Amazon S3的PHP库

v0.2.3 2016-12-03 13:01 UTC

This package is not auto-updated.

Last update: 2020-02-21 17:05:57 UTC


README

Stable Version License

Yii2 FileUpload – 用于将文件上传到您的服务器或 Amazon S3 的PHP库。它使得开发者可以轻松处理yii2的UploadedFile实例。还可以通过外部源通过URL上传文件。

入门

安装

安装此扩展的首选方式是通过 composer

注意:请检查此扩展的依赖和依赖项,请参阅 composer.json。阅读有关设置应用程序的composer.json中的minimum-stability设置的Web提示/ Wiki

运行以下命令之一:

$ 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 以获取详细信息。