我有一个表格,我想上传一个文件。这是我的代码:
<div class="form">
<?php $form=$this->beginWidget('CActiveForm', array(
'id'=>'show-form',
'enableAjaxValidation'=>false,
'htmlOptions' => array('enctype' => 'multipart/form-data'),
)); ?>
<fieldset>
<legend>DATI TECNICI</legend>
<div class="row">
<?php echo $form->labelEx($model,'tec_data_file'); ?>
<?php echo $form->fileField($model,'tec_data_file',array('size'=>45,'maxlength'=>45)); ?>
<?php echo $form->error($model,'tec_data_file'); ?>
</div>
</fieldset>
<?php $this->endWidget(); ?>
</div><!-- form -->
提交后数据库中没有添加任何内容,我用 firebug 进行了一些调试,发现filefield
生成的代码如下:
<input id="ytShow_tec_data_file" type="hidden" name="Show[tec_data_file]" value="">
<input id="Show_tec_data_file" type="file" name="Show[tec_data_file]" maxlength="45" size="45">
并且两个数据由$_POST
for发送tec_data_file
(这是我在 db 中的文件字段)。第一个 var 是空的(我认为它与第一个隐藏输入有关)。第二个包含我的文件。当我将变量分配给我的模型以进行保存时:
$modelPhoto->attributes = $_POST['Photo'];
得到tec_data_file
一个空字符串!所以没有任何东西上传到我的数据库。任何人都知道如何解决这个问题?如果你需要更多我