Вопрос по – Yii, сохраняя изображение из $ _FILES, но без использования моделей

6

Это возможно ? Это с моделью

  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.
Я забыл упомянуть, я совершенно новый в yii, пожалуйста, не кричи на меня за то, что я задаю глупые вопросы. Jordashiro

Ваш Ответ

1   ответ
8

Предполагая, что "без модели" = "без таблицы БД"

Вы просто создаете UploadForm.php, расширяющийся от CFormModel, в каталоге моделей

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)
Спасибо, я попробую Jordashiro
он не сохраняет текстовый файл, который я пробовал, но не повезло Erum

Похожие вопросы