7

这可能吗 ?这是一个模型

  CUploadedFile::getInstance($model,'newsimage');
  $model->image->saveAs("image\path")

但我不想创建一个模型只是为了保存我的图像。

我实际上需要的是......好吧,我正在尝试使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.
4

1 回答 1

8

假设“没有模型”=“没有数据库表”

您只需在您的模型目录中创建一个从 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',
        );
    }

}

在你的控制器中

$model->upload_file=CUploadedFile::getInstance($model,'upload_file');
$model->upload_file->saveAs("C:\myProject\images\".$model->upload_file->name)
于 2012-05-14T14:15:30.030 回答