Код: Выделить всё
class Item extends CActiveRecord
{
public $image;
// другие свойства
public function rules()
{
return array(
array('image', 'file', 'types'=>'jpg, gif, png'), //устанавливаем правила для файла, позволяющие загружать только картинки!
);
}
}
Код: Выделить всё
class ItemController extends CController
{
public function actionCreate()
{
$model=new Item;
if(isset($_POST['Item']))
{
$model->attributes=$_POST['Item'];
$model->image=CUploadedFile::getInstance($model,'image');
if($model->save())
{
$model->image->saveAs('path/to/localFile');
// перенаправляем на страницу, где выводим сообщение об успешной загрузки
}
}
$this->render('create', array('model'=>$model));
}
}
И наконец, создаём представление с формой
Код: Выделить всё
<?php echo CHtml::form('','post',array('enctype'=>'multipart/form-data')); ?>
...
<?php echo CHtml::activeFileField($model, 'image'); ?>
...
</form>
PS: из меня переводчик не очень, по этому перевод вольный!
Хотя статья и не требует особого перевода, но надеюсь кому нибудь пригодится, да и мне нужно потренироваться =)