PHP YII:如何上传视频

时间:2012-11-29 09:34:44

标签: yii

我的型号代码:

      public $image;

      return array(
        array('filename', 'required'),
        array('image', 'file', 'types'=>''),
        array('filename', 'length', 'max'=>11),
        array('id, filename', 'safe', 'on'=>'search'),
    );

我的观看代码:

     <?php echo CHtml::activeFileField($model, 'image'); ?>

我的控制器代码:

     $model =  new TblUpload;
     $model->attributes=$_POST['TblUpload'];
     $img = CUploadedFile::getInstance($model,'image');
     if($img->saveAs(Yii::app()->basePath.'/../images/'.$img))
            {       
                $model->filename = $img;
                $model->save(false);
            }
     }
    $this->render('uploadfile',array('model'=>$model));
}

使用此代码的朋友,我可以上传所有类型的文件,如图像和文档,但我无法上传视频....我已经更改了我的php.ini文件max_upload_size ...

3 个答案:

答案 0 :(得分:0)

在表单视图中,您是否设置了表单的enctype?

$form = $this->beginWidget(
    'CActiveForm', array(
        'id' => 'my-form',
        'htmlOptions' => array(
            'enctype' => 'multipart/form-data'
        ),
    )
);

也可能是您尝试上传到的文件夹的路径不存在或不正确。尝试使用getcwd(),例如:

$model->my_image->saveAs(getcwd()."/uploads/myfile.jpg");

这很可能就是问题,您上面代码中的路径是:

 if($img->saveAs(Yii::app()->basePath.'/../images/'.$img))

基本路径后面跟着../可能是错误的,除非你试图在root之前的目录中上传?

答案 1 :(得分:0)

最后我整理了如何上传图片...... 这是我的控制器代码.....

public function actionUploadfile()

{
        $model =  new TblUpload;    
        if(isset($_POST['TblUpload']))
        {           
            $model->image=CUploadedFile::getInstance($model,'image');
            if($model->save())
            {
            $model->image->saveAs('/wamp/www/fileupload/images/'.$fileName);
            }*/
            $model->attributes=$_POST['TblUpload'];
            $img = CUploadedFile::getInstance($model,'image');
            if($img->saveAs(Yii::app()->basePath.'/../images/'.$img))
            {

                $model->filename = $img;
                $model->save(false);
            }   
        }
    $this->render('uploadfile',array('model'=>$model));
}

这是我误解的地方......但现在我使用uploadify扩展程序上传各种文件并对其进行编辑,以便一次用于多次上传

答案 2 :(得分:0)

检查以下链接以上传多个文件

http://yiiframework.com/extension/uploadmultifiles