1.表单文件(本例是_form.php,表单提交页面)
<?php $form=$this->beginWidget(‘CActiveForm’, array( ‘id’=>’product-form’, ‘htmlOptions’=>array(‘enctype’=>’multipart/form-data’),
‘enableAjaxValidation’=>false,)); ?>//指定文件上传表单,enctype属性一定是要设置的
<div> <?php echo $form->labelEx($model,’filename’); ?> <?php echo $form->FileField($model,’
filename’); ?> <?php echo $form->error($model,’filename’); ?> </div>//显示浏览文件
2.控制器动作(action)
$model=new Product;
if(isset($_POST['Product']))
{ $model->attributes=$_POST['Product'];
$file=CUploadedFile::getInstance($model,’filename’); //获取表单名为filename的上传信息
$filename=$file->getName(); //获取文件名
$filesize=$file->getSize(); //获取文件大小
$filetype=$file->getType(); //获取文件类型
$model->filename=$filename; //数据库中要存放文件名
$filename1=iconv(“utf-8″, “gb2312″, $filename);//这里是处理中文的问题,非中文不需要
$uploadfile=”./assets/upload/”.$filename1;
$file->saveAs($uploadfile,true);//上传操作
if($model->save()) //执行保存,写入数据库
$this->redirect(array(‘view’,'id’=>$model->id)); } //数据存放成功,跳转到view页面
$category=Category::model()->findAll(); //此处是为提交表单,传递分类信息
$this->render(‘create’,array( ‘model‘=>$model, ‘category’=>$category, )); }//交创建视图,并传递相应的信息,一是model,表单,二是category,分类信息
3.create.php(动作视图文件)
<?php echo $this->renderPartial(‘_form’, array(‘model’=>$model,‘category’=>$category)); ?>
4.view.php(页面显示)
<?php $this->widget(‘zii.widgets.CDetailView’, array( ‘data’=>$model, ‘attributes’=>array( ‘id’, ‘name’, ‘category_id’, ‘description’, array(
‘label’=>’filename’, ‘type’=>’raw’, ‘value’=>CHtml::link(CHtml::encode($model->filename),
“./assets/upload/”.CHtml::encode($model->filename)), ) ),)); ?>
分享到:
相关推荐
yii2-taggable, Yii框架的taggable行为 Yii 2的 Taggable行为 Yii框架的现代taggable行为。安装安装这个扩展的首选方法是通过 composer插件。运行$ composer require creocoder/yii2-tagg
yii2-oauth2-server, 用于实现OAuth2服务器的包装器( https yii2-oauth2-server用于实现OAuth2服务器的包装器( https://github.com/bshaffer/oauth2-server-php 插件)安装安装这里扩展的首选方法是通过 Composer 。...
Yii2.0-图片上传扩展(异步加载缩略图) [扩展组件]
yii2-device-detect, 移动检测库的Yii2扩展 yii2-device-detect基于Yii2扩展的移动检测库。使用它只需要在 composer.json file: 中使用这个扩展"alexandernst/yii2-device-detect":"0.0.12",
Ajax-yii2-widgets.zip,yii2框架的小部件集合,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它用于创建动态网页,其中网页的小部分在不重新加载网页的情况下更改。
yii-advanced-app-2.0.4 下载
yii2-nested-sets, Yii框架的嵌套集行为 nest 2的行为 一种利用改进的预排序树遍历算法的Yii框架的现代嵌套。安装安装这个扩展的首选方法是通过 composer插件。运行$ composer require creocoder/yii2-nes
Laravel开发-yii2-giiall 使用yii2 gii为其他PHP框架生成代码,如phalconeye、laravel等。
官网原版,供不方便下载的开发者使用
系统基于yii2高级版本开发,后台模板使用的 Ace Admin。对于一般的后台开发,比较方便; 对于数据表的CURL操作都有封装,且所有操作都有权限控制。现在这个项目只是一个示例项目, 主要功能被我移到: [jinxing/yii2-...
yii2-elasticsearch, Yii 2 Elasticsearch扩展 Elasticsearch查询和 Yii 2的ActiveRecord这个扩展为 Yii框架 2.0提供了的集成。 它包括基本查询/搜索支持,还实现了 ActiveRecord Pattern,允许你在elasticsearch
yii2-scroll-pager, 用于 Yii2 ListView小部件的无限AJAX滚动 Yii2滚动寻呼机使用AJAX将常规分页页面转换为无限滚动页。Y2SP使用 Pagination 对象,它指定了完整的页面数目和当前页码。使用 JQuery无限Ajax滚动插件...
Amp-yii2-queue.zip,YII 2.0非阻塞队列扩展。,amp是php的一个非阻塞并发框架。它提供事件循环、承诺和流,作为异步编程的基础。
最新的yii2.03-advanced开源框架,本人觉得最好用的PHP框架,支持前端和后端,而且速度杠杠的,有些朋友可能无法下载,我把自己下载好的文件打包,亲测可用。
很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架
Laravel开发-yii2-websocket 带示例和演示的简单PHP WebSocket服务器:简单聊天(单守护进程)-http://sharoid.ru/chat.html,专业聊天(master worker)-http://sharoid.ru/chat2.html,简单游戏-...
Ajax-yii2-notification-wrapper.zip,yii2通知包装器模块通过growl、noty、toastr和更多库呈现来自会话flash(支持ajax、pjax等)的消息,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json...
Yii2-Adminlte 后台用户及密码: 登录名: admin密码: qwe1234 安装和入门: 如果您没有 Composer,您可以按照 getcomposer.org 上的说明进行安装。 运行以下命令: ...
yii2-translateable, Yii框架的translateable行为 Yii 2的 Translateable行为 Yii框架的现代translateable行为。安装安装这个扩展的首选方法是通过 composer插件。运行$ composer require creocoder
Yii2 该软件包是原始yii2-websocket的固定和精简版本,当时尚未维护。 您可以在这里找到原始存储库: : 我简单地进行了这些更改,因为在另一个项目中将需要此更改。 我还不能提供文档,有很多更改。 您唯一的选择是...