Yii,从$ _FILES保存图像,但不使用模型

Jor*_*iro 6 frameworks yii ckeditor

这可能吗 ?这是一个模型

  CUploadedFile::getInstance($model,'newsimage');
  $model->image->saveAs("image\path")
Run Code Online (Sandbox Code Playgroud)

但我不想创建一个模型,所以我可以保存我的图像.

我真正需要的是......我正在尝试使CKEditor的"上传图像"功能正常工作,但我需要一个脚本来保存图像.当我单击"上传图像"按钮时,我只是调用一个动作,然后我可以访问我选择的图片$_FILES,但是我似乎无法将文件保存到目标目录.

是否可以将文件保存到目标路径(例如"C:\ myProject\images")而不使用模型?

编辑:

这是我稍后发现的解决方案我上传的文件是$_FILES['upload']这样的..

$temp = CUploadedFile::getInstanceByName("upload");  // gets me the file into this variable (  i gues this wont work for multiple files at the same time )
$temp->saveAs("D:/games/" . $temp->name);  // full name , including the filename too.
Run Code Online (Sandbox Code Playgroud)

dIn*_*0nG 8

假设"没有模型"="没有数据库表"

您只需在您的models目录中创建一个从CFormModel扩展的UploadForm.php

class UploadForm extends CFormModel
{
    public $upload_file;

    public function rules()
    {
        return array(
        array('upload_file', 'file', 'types'=>'jpg,jpeg,gif,png','maxSize'=>10*1024*1024),
        );
    }

    /**
     * Declares attribute labels.
     */
    public function attributeLabels()
    {
        return array(
            'upload_file'=>'Upload File',
        );
    }

}
Run Code Online (Sandbox Code Playgroud)

并在你的控制器

$model->upload_file=CUploadedFile::getInstance($model,'upload_file');
$model->upload_file->saveAs("C:\myProject\images\".$model->upload_file->name)
Run Code Online (Sandbox Code Playgroud)