igogo5yo/yii2-upload-from-url

为 Yii Framework 2 的 UploadFromUrl 扩展

安装次数: 67,442

依赖者: 0

建议者: 0

安全: 0

星标: 8

关注者: 5

分支: 6

公开问题: 0

类型:yii2-extension

v1.4 2018-01-16 07:37 UTC

This package is not auto-updated.

Last update: 2024-09-14 17:20:38 UTC


README

Build Status Latest Stable Version Total Downloads License Dependency Status codecov.io

这是为 Yii 2 搭建的上传 URL 地址文件的扩展。它包含用于从 URL 上传文件的 UploadFromUrl 类,并包含用于验证模型属性 FileFromUlr 的 FileFromUlrValidator。

请向主仓库提交问题报告和拉取请求。有关许可证信息,请查看 LICENSE 文件。

安装

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

运行以下命令之一:

php composer.phar require --prefer-dist igogo5yo/yii2-upload-from-url

或者将以下内容添加到您的 composer.json 文件中

"igogo5yo/yii2-upload-from-url": ">=1.0"

使用方法

示例 1

$model = new Post();
$model->load(Yii::$app->request->post());

$file = UploadFromUrl::getInstance($model, 'image');

//if second parameter is TRUE it writes uploaded file path to this model property
$file->saveAs('uploads/yii.png', true);   

echo $model->image; // uploads/yii.png

示例 2

$model = new Post();
$model->image = 'http://static.yiiframework.com/files/logo/yii.png';

$file = UploadFromUrl::initWithModel($model, 'image');

//if second parameter is TRUE it writes uploaded file path to this model property
$file->saveAs('uploads/yii.png', true);   

echo $model->image; // uploads/yii.png

示例 3

$url = 'http://static.yiiframework.com/files/logo/yii.png' ;
$path = 'uploads/yii.png';

$file = UploadFromUrl::initWithUrl($url);
$file->saveAs($path);   

//Set to model
$model = new Post();
$model->image = $path;

示例 4

$url = 'http://static.yiiframework.com/files/logo/yii.png' ;
$path = 'uploads/yii.png';
$model = new Post();

$file = UploadFromUrl::initWithUrlAndModel($url, $model, 'image');
$file->saveAs($path, true);   

echo $model->image; // uploads/yii.png

验证示例

[
...
     [['image'], 'igogo5yo\uploadfromurl\FileFromUrlValidator', 'extensions' => 'csv', 'mimeTypes' => 'text/plain'],
...
]

运行测试

phpunit --bootstrap tests/bootstrap.php tests