`
李俊良
  • 浏览: 143808 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

yii文件上传

    博客分类:
  • yii
 
阅读更多

页面 
------------------------------------------------- 

Html代码  收藏代码
  1. <?php $form=$this->beginWidget('CActiveForm', array(  
  2.         'id'=>'add-form',  
  3.         'enableClientValidation'=>true,  
  4.         'clientOptions'=>array( 'validateOnSubmit'=>true,),  
  5.         'htmlOptions'=>array('enctype'=>'multipart/form-data'),    
  6.     ));   
  7. ?>  
  8.     <table>  
  9.         <tr>  
  10.             <td width="20%">  
  11.                 <b>ファイルパス:</b>&nbsp;&nbsp;<font color="red">*</font>  
  12.             </td>  
  13.             <td width="80%">  
  14.                 <?php echo CHtml::activeFileField($model, 'file'); ?>  
  15.                 <?php echo $form->error($model,'file');?>  
  16.             </td>  
  17.         </tr>  
  18.     </table>  
  19.   
  20.     <table>  
  21.         <tr>  
  22.             <td>  
  23.                 <?php echo CHtml::button('上传', array('submit' => array('downfiles/upload'))); ?>  
  24.             </td>  
  25.         </tr>  
  26.     </table>  




Model 
------------------------------------------------- 

Php代码  收藏代码
  1. public function rules()  
  2. {  
  3.     return array(  
  4.                   
  5.         array('file''file','allowEmpty'=>true ,  
  6.                 'types'=>'jpg, gif, png, doc, txt',  
  7.                 'maxSize'=>1024 * 1024 * 10, // 10MB  
  8.                 'tooLarge'=>'The file was larger than 10MB. Please upload a smaller file.',  
  9.             ),  
  10.     );  
  11. }  



上传 
------------------------------------------------- 

Php代码  收藏代码
  1. public function actionUpload(){  
  2.       
  3.     $model = new DownFiles();  
  4.       
  5.     if(isset($_POST["DownFiles"])){  
  6.           
  7.         $model->attributes=$_POST['DownFiles'];  
  8.   
  9.         $file = CUploadedFile :: getInstance($model'file');  
  10.           
  11.         if(is_null($file)){  
  12.             yii::app ()->user->setFlash('failed''请选择上传文件');  
  13.             $this->render('upload'array('model' => $model));  
  14.             return ;  
  15.         }  
  16.           
  17.         if (is_object($file) && get_class($file) == 'CUploadedFile') {  
  18.               
  19.             Yii::log("File Name : "  . $file->getName() );  
  20.               
  21.             // 文件类型  
  22.             $model->fileType = strtolower($file->getExtensionName());  
  23.   
  24.             // 存储文件名  
  25.             $newFileName = date('YmdHis') . '_' . rand(1000, 9999) . '.' . $model->fileType;   
  26.             // 服务器端存储路径  
  27.             $newFilepath = Yii::app()->params['upload_folder'] . $newFileName;  
  28.   
  29.             // 上传文件名  
  30.             $model->fileName = $file->getName();  
  31.             // 文件类型 (application/x-msdownload、application/pdf、application/octet-stream)  
  32.             $model->fileType = $file->getType();  
  33.             // 文件大小  
  34.             $model->fileSize = $file->getSize();  
  35.               
  36.             if ($model->validate()  && $model->save()){  
  37.                 // 将文件存在在服务器端  
  38.                 $file->saveAs($newFilepath);  
  39.   
  40.                 yii::app ()->user->setFlash('successed''上传成功');  
  41.             } else {  
  42.                 yii::app ()->user->setFlash('failed''上传失败');  
  43.             }  
  44.               
  45.         } else {  
  46.             yii::app ()->user->setFlash('failed''上传失败');  
  47.         }  
  48.           
  49.         $this->render('upload'array('model' => $model));  
  50.           
  51.     }else{  
  52.         $this->render('upload'array(  
  53.             'model' => $model,  
  54.         ));  
  55.     }  
  56.       
  57. }  






文件 
------------------------------------------------- 

Java代码  收藏代码
  1. public function actionDownload(){  
  2.       
  3.     if (isset($_GET["id"])) {  
  4.         $id = $_GET["id"];  
  5.   
  6.         $model = DownFiles::model()->find('id =:id', array('id' => $id));  
  7.           
  8.         if ($model == null) {  
  9.             throw new CHttpException ('500''文件不存在');  
  10.         } else {  
  11.             // 服务器端文件的路径  
  12.             $fileName = $model->saveFilePath ;  
  13.               
  14.             if (file_exists($fileName)){  
  15.                 yii::app ()->request->sendFile ($model->fileName,  file_get_contents ($fileName));  
  16.             }  
  17.         }  
  18.     }  
  19. }  
分享到:
评论

相关推荐

    yii2 文件上传笔记

    yii2 文件上传笔记

    yii2 头像上传 完整版 带cookie保存

    1. **文件上传处理**:Yii2框架内置了文件上传组件,可以方便地处理文件上传。你需要在模型(Model)中定义一个属性来接收上传的头像文件,并在规则(Rules)中设定允许的文件类型和大小限制。 2. **图片处理**:...

    yii2 图片上传扩展插件

    在 Yii2 中,处理文件上传是常见的需求,尤其是图片上传,它能够为用户界面增添动态性和互动性。"yii2 图片上传扩展插件"就是为了简化这一过程而设计的。 该插件主要解决以下问题: 1. **图片预览**:允许用户在上...

    yii2-upload-behavior, ActiveRecord的Yii2文件/图像上传行为.zip

    yii2-upload-behavior, ActiveRecord的Yii2文件/图像上传行为 Yii2文件/图像上传行为这个包是两种类似行为的集合。 第一个允许你将上传的文件保留为。 第二个允许你为上传的图片生成缩略图。 可以为不同的属性多次...

    yii2.0框架实现上传excel文件后导入到数据库的方法示例

    Yii2.0框架是一种流行的PHP开发框架,它基于MVC(模型-视图-控制器)设计...通过本文的介绍,读者可以了解到Yii2.0框架中文件上传处理和数据库导入的基本方法,并可以在实际项目中根据具体需求进行相应的扩展和定制。

    Yii2.0 视频教程

    - **框架结构介绍**:解释 Yii2.0 的基本目录结构、文件组织方式。 - **控制器与视图**:详细介绍如何创建控制器、视图文件以及实现基本的路由机制。 - **模型与数据库操作**:学习使用 Active Record 进行数据库...

    Yii实现用户注册登录、ajax、图片上传、modules编程基础例程(内置完整工程及使用说明)

    Yii提供了一种方便的方式来处理文件上传,包括图片。`CUploadedFile`类是Yii中处理文件上传的核心,它可以从HTTP请求中获取上传文件的信息。你需要创建一个表单,包含一个`enctype="multipart/form-data"`的`&lt;form&gt;`...

    yii2 通用后台系统

    Yii2 后台系统可能会使用 `yii\webUploadedFile` 类来处理文件上传,配合 `yii\imagine` 扩展进行图片处理,如裁剪、缩放等,确保头像符合预设尺寸。此外,文件存储可以本地化,也可以使用云存储服务如 AWS S3 或...

    plupload:PLupload 的 Yii2 上传扩展

    Plupload 是一个用于处理文件上传的 JavaScript API,它支持多文件选择、文件类型过滤、请求分块、客户端图像缩放等功能,它使用不同的运行时来实现这一点,例如 HTML 5、Silverlight、Flash、Gears 和 BrowserPlus...

    yii2-plupload:yii2扩展,支持大文件上传

    一个Yii2模块/小部件,用于上传文件 安装 安装此扩展的首选方法是通过 。 无论运行 php composer.phar require --prefer-dist icherisher/yii2-plupload "*" 或添加 "icherisher/yii2-plupload": "*" 到composer...

    yii2中文开发手册

    9. **高级特性**:Yii2还有许多高级特性,如命令行工具、邮件发送、文件上传、队列处理、任务调度等。这些特性使得Yii2能够满足各种复杂应用场景。 10. **最佳实践**:学习Yii2开发手册,不仅是为了掌握框架的使用...

    yii2 百度编辑器

    4. 服务器端处理:在`@web/upload`指定的URL,你需要编写处理图片或文件上传的控制器方法。这通常包括验证上传文件的安全性,保存文件到服务器,返回上传成功的JSON响应等。 5. 与模型结合:如果编辑器内容与数据库...

    Yii2使用自带的UploadedFile实现的文件上传

    其中一个常用的功能是文件上传,Yii2为文件上传提供了内置的支持,本文将详细介绍如何利用Yii2自带的UploadedFile类来实现文件上传功能。 首先,我们需要创建一个模型来处理上传的文件。在这个过程中,我们定义了一...

    yii2-file-upload-widget:用于Yii2的BlueImp文件上传小部件

    用于Yii2的BlueImp文件上传小部件 呈现一个。 该插件集成了多个文件选择,拖放支持,进度条,图像验证和预览。 安装 安装此扩展的首选方法是通过 。 无论运行 $ composer require 2amigos/yii2-file-upload-widget...

    Yii面试题摸底测试教学考前摸底

    2. **加载配置文件:** 加载配置文件,将配置信息应用于Application对象。 3. **组件注册:** 注册各种组件和服务提供者,如DB连接、URL管理器等。 4. **请求解析:** 解析用户的HTTP请求,确定请求的路由。 5. **...

    yii2.0-Ueditor百度编辑器

    3. **创建控制器和视图**:在Yii2.0的控制器中,创建一个方法来处理Ueditor的上传请求,比如图片上传。在视图文件中,使用Ueditor的Widget来渲染编辑器,如下所示: ```php use dosamigos\ueditor\UeditorWidget; ...

    Yii 2.0.9 basic

    在这种情况下,将文件上传至可靠的共享平台或个人网站可以作为备份方案,以确保其他开发者能顺利获取资源。 总的来说,Yii 2.0.9 是一个强大且灵活的PHP框架,适合开发大型企业级应用。其高效的性能、全面的安全...

    Yii2.0多文件上传实例说明

    ### Yii2.0多文件上传实例说明 在本篇文章中,我们将详细介绍如何在Yii2.0框架中实现多文件上传的功能。通过一个具体的实例——创建控制器`FormController`、模型`Uploadm`以及相关的视图文件,来演示整个多文件...

    yii2自带的编辑器中添加本地图片上传功能

    yii2 自带的编辑器中 没有直接添加本地图片上传的功能,需要自己添加,所以需要修改一些vendor下的文件,进行修改

Global site tag (gtag.js) - Google Analytics