Yii2.0 多文件上传
---------------------------------------------------------------------------------------------------
首先你得调整模型类,在 file 验证规则里增加一个 maxFiles 选项,用以限制一次上传文件的最大数量。
upload()方法也得修改, 以便一个一个地保存上传的文件。
---------------------------------------------------------------------------------------------------
namespace app\models;
use yii\base\Model;
use yii\web\UploadedFile;
class UploadForm1 extends Model{
/**
* @var UploadedFile[]
*/
public $imageFiles;
public function rules()
{
return [
[['imageFiles'], 'file', 'skipOnEmpty' => false, 'extensions' => 'png, jpg', 'maxFiles' => 4],
];
}
public function upload()
{
foreach ($this->imageFiles as $file) {
$file->saveAs('./upload/' . $file->baseName . '.' . $file->extension);
}
return true;
}
}
--------------------------------------------------------------------------------------------------------------
在视图文件里,你需要把 multiple 选项添加到fileInput()函数调用里, 这样文件输入控件就可以接收多个文件。
---------------------------------------------------------------------------------------------------------------
use yii\widgets\ActiveForm;
use yii\helpers\Url;
?>
['enctype' => 'multipart/form-data']]) ?>
| 上传多个图片 | = $form->field($model, 'imageFiles[]')->fileInput(['multiple' => true, 'accept' => 'image/*']) ?> |
