页面
-------------------------------------------------
- <?php $form=$this->beginWidget('CActiveForm', array(
- 'id'=>'add-form',
- 'enableClientValidation'=>true,
- 'clientOptions'=>array( 'validateOnSubmit'=>true,),
- 'htmlOptions'=>array('enctype'=>'multipart/form-data'),
- ));
- ?>
- <table>
- <tr>
- <td width="20%">
- <b>ファイルパス:</b> <font color="red">*</font>
- </td>
- <td width="80%">
- <?php echo CHtml::activeFileField($model, 'file'); ?>
- <?php echo $form->error($model,'file');?>
- </td>
- </tr>
- </table>
- <table>
- <tr>
- <td>
- <?php echo CHtml::button('上传', array('submit' => array('downfiles/upload'))); ?>
- </td>
- </tr>
- </table>
Model
-------------------------------------------------
- public function rules()
- {
- return array(
- array('file', 'file','allowEmpty'=>true ,
- 'types'=>'jpg, gif, png, doc, txt',
- 'maxSize'=>1024 * 1024 * 10, // 10MB
- 'tooLarge'=>'The file was larger than 10MB. Please upload a smaller file.',
- ),
- );
- }
上传
-------------------------------------------------
- public function actionUpload(){
- $model = new DownFiles();
- if(isset($_POST["DownFiles"])){
- $model->attributes=$_POST['DownFiles'];
- $file = CUploadedFile :: getInstance($model, 'file');
- if(is_null($file)){
- yii::app ()->user->setFlash('failed', '请选择上传文件');
- $this->render('upload', array('model' => $model));
- return ;
- }
- if (is_object($file) && get_class($file) == 'CUploadedFile') {
- Yii::log("File Name : " . $file->getName() );
- // 文件类型
- $model->fileType = strtolower($file->getExtensionName());
- // 存储文件名
- $newFileName = date('YmdHis') . '_' . rand(1000, 9999) . '.' . $model->fileType;
- // 服务器端存储路径
- $newFilepath = Yii::app()->params['upload_folder'] . $newFileName;
- // 上传文件名
- $model->fileName = $file->getName();
- // 文件类型 (application/x-msdownload、application/pdf、application/octet-stream)
- $model->fileType = $file->getType();
- // 文件大小
- $model->fileSize = $file->getSize();
- if ($model->validate() && $model->save()){
- // 将文件存在在服务器端
- $file->saveAs($newFilepath);
- yii::app ()->user->setFlash('successed', '上传成功');
- } else {
- yii::app ()->user->setFlash('failed', '上传失败');
- }
- } else {
- yii::app ()->user->setFlash('failed', '上传失败');
- }
- $this->render('upload', array('model' => $model));
- }else{
- $this->render('upload', array(
- 'model' => $model,
- ));
- }
- }
文件
-------------------------------------------------
- public function actionDownload(){
- if (isset($_GET["id"])) {
- $id = $_GET["id"];
- $model = DownFiles::model()->find('id =:id', array('id' => $id));
- if ($model == null) {
- throw new CHttpException ('500', '文件不存在');
- } else {
- // 服务器端文件的路径
- $fileName = $model->saveFilePath ;
- if (file_exists($fileName)){
- yii::app ()->request->sendFile ($model->fileName, file_get_contents ($fileName));
- }
- }
- }
- }
相关推荐
yii2 文件上传笔记
yii2-upload-behavior, ActiveRecord的Yii2文件/图像上传行为 Yii2文件/图像上传行为这个包是两种类似行为的集合。 第一个允许你将上传的文件保留为。 第二个允许你为上传的图片生成缩略图。 可以为不同的属性多次...
主要介绍了yii2.0框架实现上传excel文件后导入到数据库的方法,结合实例形式详细分析了yii2.0上传excel文件后导入到数据库的相关模型、视图、控制器实现技巧,需要的朋友可以参考下
Plupload 是一个用于处理文件上传的 JavaScript API,它支持多文件选择、文件类型过滤、请求分块、客户端图像缩放等功能,它使用不同的运行时来实现这一点,例如 HTML 5、Silverlight、Flash、Gears 和 BrowserPlus...
一个Yii2模块/小部件,用于上传文件 安装 安装此扩展的首选方法是通过 。 无论运行 php composer.phar require --prefer-dist icherisher/yii2-plupload "*" 或添加 "icherisher/yii2-plupload": "*" 到composer...
用于Yii2的BlueImp文件上传小部件 呈现一个。 该插件集成了多个文件选择,拖放支持,进度条,图像验证和预览。 安装 安装此扩展的首选方法是通过 。 无论运行 $ composer require 2amigos/yii2-file-upload-widget...
主要介绍了Yii2使用自带的UploadedFile实现的文件上传的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
yii2 自带的编辑器中 没有直接添加本地图片上传的功能,需要自己添加,所以需要修改一些vendor下的文件,进行修改
Yii 2框架的通用文件上传管理器。 可以上传文件并将其链接到任何ActiveRecord模型。 从0.3.0版开始,用户可以上传文件而无需链接到模型。 它使用kartik-v / yii2-widget-fileinput小部件( )。 它仅包含一个存储...
本文实例讲述了yii使用activeFileField控件实现上传文件与图片的方法。分享给大家供大家参考,具体如下: yii框架提供了activeFileField控件来完成上传文件(当然也包括了上传图片)的操作,下面介绍yii的...
使用Yii搭建工程,实现了用户注册登陆,图片上传,并使用ajax实现删除操作,使用Gii生成modules并实现模块编程,内含完整代码及工程使用操作以及sql文件
主要介绍了Yii2实现UploadedFile上传文件示例的资料,这里整理了详细的代码,有需要的小伙伴可以参考下。
本文实例讲述了YII2框架实现表单中上传单个文件的方法。分享给大家供大家参考,具体如下: 有些时候我们提交的表单中含有文件。怎么样让表单里的数据和文件一起提交。 我的数据表tb_user内容如下: CREATE TABLE `...
教程名称: 2016最全Yii框架 ...1章 课程概要介绍本课程主要学习的内容:XSS、CSRF、SQL注入、文件上传漏洞等攻击原理和YII的防范措施。 1-1 Yii框架关 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。
编撰中 文件上传 待定中 多模型同时输入 显示数据 编撰中 格式化输出数据 待定中 分页(Pagination) 待定中 排序(Sorting) 编撰中 数据提供器 编撰中 数据小部件 编撰中 主题 安全 编撰中 认证(Authentication)...
本篇文章主要介绍了yii2.0整合阿里云oss上传单个文件的示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
但是点击上传图片按钮后发现,无法正常进行图片上传,文件上传也是失败的,问题都是Flash Player需要升级, 因此在火狐浏览器中安装对应的flash player组件,选择其中一个工作: 此时,文件上传和图片上传功能就能...
主要介绍了yii实现使用CUploadedFile上传文件的方法,结合具体的前端与后端处理代码实例分析了CUploadedFile类的使用方法,需要的朋友可以参考下
Yii 提供了 CUploadedFile 来上传文件,比如图片,或者文档。 官方关于这个类的介绍 : CUploadedFile represents the information for an uploaded file. Call getInstance to retrieve the instance of an uploaded...