php-Yii文件上传$_FILE为空

我正在尝试通过表单将图像上传到我的模型.我正在使用Yii 1.1

该模型在数据库中不包含“图像”列,因此我在模型中创建了这样的属性

public $image;

我在规则中添加了以下内容

array('image', 'file', 'types'=>'jpg,gif,png', 'allowEmpty'=>true),

在视图中,我将htmlOption数组(‘enctype’=>’multipart / form-data’)添加到表单中,同时用于文件上传

<th><?PHP echo $form->labelEx($model, 'image'); ?></th>
<td><?PHP echo $form->fileField($model, 'image');?></td>
<th><?PHP echo $form->error($model, 'image');'>'?></th>

我看到了用于上传图片的按钮,当我按下按钮时,将调用控制器的动作,但是如果我创建了一个显示$_POST和/或$_FILES的日志,则会得到以下信息:

从$_FILES记录

2016/07/07 18:18:12 [info] [application] FILE : 

Array
(
)

我从$_POST收到的日志

[Puntointeres] => Array
    (
        [Name] => My Name
        [Description] => What ever
        ......
        [image] => 
    )

有什么帮助吗?

解决方法:

可能您忘记了设置编码类型:

<?PHP $form = ActiveForm::begin(['options' => ['enctype' => 'multipart/form-data']]); ?>

另外您的字段不正确,应该是:

$form->field($model, 'image')->fileinput()

还请记住,Yii不会在$_POST中发送图像的值.通过$_POST,它发送使用inputFile时生成的隐藏字段.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...