yii 中的多个文件上传 [英] Multiple file upload in yii

查看:18
本文介绍了yii 中的多个文件上传的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在 yii 中上传多个文件...

我有设置表单来使用这样的多个文件上传...

myfrom.php

beginWidget('CActiveForm', array('id'=>'主题形式','enableAjaxValidation'=>false,'htmlOptions' =>array('enctype' => 'multipart/form-data'),//添加这个));?><div class="row"><?php$this->widget('CMultiFileUpload', array('名称' =>'图像路径','模型'=>$模型,'属性'='图像路径','接受' =>'jpeg|jpg|gif|png',//用于验证文件'重复' =>'重复文件!',//很有用,我认为'拒绝' =>'无效文件类型',//有用,我认为));?><div class="行按钮"><?php echo CHtml::submitButton($model->isNewRecord ?'Create' : 'Save');?>

endWidget();?>

我的控制器方法看起来像...

公共函数 actionMultipleupload(){$model= new Uploadimage();if(isset($_POST['上传图片'])){var_dump("里面如果");//$images = CUploadedFile::getInstancesByName('images');}var_dump("外面如果");$this->render('multipleupload',array('model'=>$model));}

但只有当我使用多文件上传小部件时,它才不会进入 if 循环......

它在单个文件上传(如下所示)和上传时工作正常......但在多个文件上传时出现问题..

 

<?php echo $form->labelEx($model,'imagepath');?><?php echo CHtml::activeFileField($model,'imagepath',array('size'=>60,'maxlength'=>500));?><?php echo $form->error($model,'imagepath');?>

我不知道我的代码出了什么问题...我指的是这篇文章

解决方案

由于您使用的是 attribute 小部件选项,您不应该使用 name :

$this->widget('CMultiFileUpload', array('模型'=>$模型,'属性'='图像路径','接受' =>'jpeg|jpg|gif|png',//用于验证文件'重复' =>'重复文件!',//很有用,我认为'拒绝' =>'无效文件类型',//有用,我认为));

PS:下次你应该尝试一个简单的var_dump($_POST);

hi i am doing multiple file upload in yii...

i have setup form to use multiple file upload like this...

myfrom.php

<?php
$form=$this->beginWidget('CActiveForm', array(
'id'=>'topic-form',
'enableAjaxValidation'=>false,
'htmlOptions' => array('enctype' => 'multipart/form-data'), // ADD THIS
));
?>

<div class="row">
<?php
 $this->widget('CMultiFileUpload', array(
    'name' => 'imagepath',
    'model'=> $model,
    'attribute'=>'imagepath',
    'accept' => 'jpeg|jpg|gif|png', // useful for verifying files
    'duplicate' => 'Duplicate file!', // useful, i think
    'denied' => 'Invalid file type', // useful, i think
));
?>
<div class="row buttons">
    <?php echo CHtml::submitButton($model->isNewRecord ? 'Create' : 'Save'); ?>
</div>

<?php $this->endWidget(); ?>

and my controller method looks like...

public function actionMultipleupload() 
{
   $model= new Uploadimage();
    if(isset($_POST['Uploadimage']))
    {
      var_dump("inside if");
    //  $images = CUploadedFile::getInstancesByName('images');
    } 

   var_dump("out side if");
    $this->render('multipleupload',array('model'=>$model));
 }

but it's not going inside if loop only if i am using Multiple file upload widget...

it's working fine with single file upload (shown below) and uploading also... but it showing problem in multiple file upload..

 <div class="row">
    <?php echo $form->labelEx($model,'imagepath'); ?>
    <?php echo CHtml::activeFileField($model,'imagepath',array('size'=>60,'maxlength'=>500)); ?>
    <?php echo $form->error($model,'imagepath'); ?>
 </div>

i don't what's going wrong with my code... i am referring this post

解决方案

Since your are using attribute widget option, you should not use name :

$this->widget('CMultiFileUpload', array(
    'model'=> $model,
    'attribute'=>'imagepath',
    'accept' => 'jpeg|jpg|gif|png', // useful for verifying files
    'duplicate' => 'Duplicate file!', // useful, i think
    'denied' => 'Invalid file type', // useful, i think
));

PS: next time you should try a simple var_dump($_POST);

这篇关于yii 中的多个文件上传的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆