微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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时生成的隐藏字段.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐