Загрузка файлов

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
nepster
Сообщения: 838
Зарегистрирован: 2013.01.02, 03:35

Загрузка файлов

Сообщение nepster »

Я не использую формы yii, у меня чисто свои формы на чистом html с дополнительными js плагинами.

В общем я получаю массив $_FILES в контроллер, подскажите пожалуйста как можно средствами yii загрузить файлы ? (Особенно картинки)
nepster
Сообщения: 838
Зарегистрирован: 2013.01.02, 03:35

Re: Загрузка файлов

Сообщение nepster »

Не плохо.

Моя попытка:

Код: Выделить всё

                
$ProfileModel = ProfileModel;
                print_r($_FILES['avatar']);
    
        
                $ProfileModel->avatar = $_FILES['avatar']; // Сохранение данных формы в модели
                
                // Создание экземпляра класса с информацией о загружаемом файле
                $ProfileModel->avatar = CUploadedFile::getInstance($ProfileModel, 'avatar');
                
                if ($ProfileModel->save()) 
                {
                    // Если модель успешно сохранена, то перемещение файла в нужное место и удалением временного файла.
                    $ProfileModel->avatar->saveAs(Yii::app()->basePath.DIRECTORY_SEPARATOR.$ProfileModel->avatar);
                }
             

копи паст из найденных ссылок и собственно получаем набор ошибок.
Аватара пользователя
howard
Сообщения: 528
Зарегистрирован: 2012.11.16, 18:55
Откуда: Україна, Вінниця

Re: Загрузка файлов

Сообщение howard »

$ProfileModel = ProfileModel :)
Агрегатор цен на услуги хостинга - https://hostcost.net
nepster
Сообщения: 838
Зарегистрирован: 2013.01.02, 03:35

Re: Загрузка файлов

Сообщение nepster »

опечатался вот так:

Код: Выделить всё

                

$ProfileModel = UserProfileModel::model()->findByPk(Yii::app()->user->id);
                
                print_r($_FILES['avatar']);
                
                // Создание экземпляра класса с информацией о загружаемом файле
                $ProfileModel->avatar = CUploadedFile::getInstance($ProfileModel, 'avatar');
                
                if ($ProfileModel->save()) 
                {
                    // Если модель успешно сохранена, то перемещение файла в нужное место и удалением временного файла.
                    $ProfileModel->avatar->saveAs(Yii::app()->basePath.DIRECTORY_SEPARATOR.$ProfileModel->avatar);
                }
             

<b>Fatal error</b>: Call to a member function saveAs() on a non-object in <b>F:\OpenServer\domains\game.ru\protected\modules\users\controllers\UserController.php</b> on line <b>240</b><br />
Nafania
Сообщения: 1227
Зарегистрирован: 2011.01.31, 13:12

Re: Загрузка файлов

Сообщение Nafania »

Там ожидается $_FILES['ModelName'']['attributeName']
Вам надо использовать это http://www.yiiframework.com/doc/api/1.1 ... ame-detail
А лучше использовать встроенные формы.
nepster
Сообщения: 838
Зарегистрирован: 2013.01.02, 03:35

Re: Загрузка файлов

Сообщение nepster »

спасибо покапаю, никаких встроенных форм на проекте. Это очень сомнительная идея генерировать формы средствами php
deblogger
Сообщения: 83
Зарегистрирован: 2013.11.09, 15:12

Re: Загрузка файлов

Сообщение deblogger »

nepster писал(а):спасибо покапаю, никаких встроенных форм на проекте. Это очень сомнительная идея генерировать формы средствами php
Гораздо более сомнительно переписывать ручками из DDL в хтмл все сущности, чтобы затем бесконечными isset'ами еще раз все переписывать в процессинге. Впрочем, в рамке все равно придется переписать, но хотя бы один раз в модели.
Ответить