ThinkPHP - 文件上传

获取上传类

ThinkPHP的扩展中提供了文件上传类库UploadFile,可以在在http://www.thinkphp.cn/extend/224.html下载,或者下载官方的完整扩展包(http://www.thinkphp.cn/down/253.html)里面也已经包含上传扩展类了。如果是单独下载的上传类库,把解压后的UploadFile.class.php 放入ThinkPHP/Extend/Library/ORG/Net/(如果没有请手动创建)目录下面。

效果:

前台代码:

 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <title>上传</title>
 5     </head>
 6     <body>
 7         <form action="__URL__/upload/" id="upload" method=‘post‘ enctype="multipart/form-data" >
 8             <input name="image" type="file" />
 9             <input type="submit" value="提交" >
10         </form>
11     </body>
12 </html>

后台代码:

 1 <?php
 2 class UploadAction extends Action{
 3     /**
 4      * 入口文件
 5      */
 6     public function index(){
 7         $this->display();
 8     }
 9
10     /**
11      * 上传文件
12      */
13     public function upload(){
14
15         //引入上传文件类
16         import(‘ORG.Net.UploadFile‘);
17
18         //实例化上传类
19         $upload = new UploadFile();
20
21
22         //配置上传参数
23         //基础配置
24         //上传文件大小
25         $upload->maxSize = 3145728;
26         //允许上传文件后缀
27         $uplaod->allowExts = array(‘jpg‘, ‘gif‘, ‘png‘, ‘bmp‘, ‘jepg‘);
28         //保存路径
29         $upload->savePath = ‘./Uploads/‘;
30
31         //配置上传缩略图
32         //是否开启上传
33         $upload->thumb = true;
34         //缩略图最大宽度,多个使用逗号隔开
35         $upload->thumbMaxWidth = ‘81.5‘;
36         //缩略图最大高度,多个使用逗号隔开
37         $upload->thumbMaxHeight = ‘133‘;
38         //缩略图前缀
39         $upload->thumbPrefix = ‘thumb_‘;
40         //缩略图保存路径
41         $upload->thumbPath = ‘./Uploads/Thumb/‘;
42
43
44
45         //上传文件
46         if ( !$upload->upload() ) {
47             echo ‘上传失败:‘ . $upload->getErrorMsg();
48         } else {
49             echo ‘上传成功!<br/>‘;
50             print_r($upload->getUploadFileInfo());
51         }
52     }
53 }
时间: 02-02

ThinkPHP - 文件上传的相关文章

thinkphp文件上传

TP框架中的文件上传类似于php原生的文件上传方法,只不过TP框架将文件上传的方法封装成类来使用 1.首先我们在控制器类文件中写出一个上传的显示页面的方法 public function shangchuan(){ $this->show(); } 同时我们在相对应的视图文件夹view中的创建出前端显示页面 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.o

2016/05/19 thinkphp 3.2.2 文件上传

显示效果:  多文件上传.  这里是两个文件一起上传 上传到文件夹的效果: ①aa为调用Home下common文件夹下的function.php  中的rname方法  实现的 ②cc为调用与Home平级文件夹common下的common文件夹下的function.php 以上是放公共方法的地方   程序可以自动调用 ③一瓶水.gif 的显示: 在linux操作系统下不会出现乱码   但在windows下会出现乱码 解决办法:找到核心目录  thinkphp下的library下的Upload下的

ThinkPHP之文件上传

在项目当中,我们有的时候需要上传图片的功能,简单的从面相过程的方法是相对较为复杂的,要一步一步的来,如果用框架的话,相对就简单了许多,主要就是方法以及每一个变量所代表的意义,然后就是一些注意的地方了. 首先,从视图页面说起,要先做好文件的上传表单控件,这里我就出现了一个错误,没有加上文件的特有属性而导致控制器取不到文件,如下所示一个简单的界面: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "

thinkphp 检测上传的图片中是否含有木马脚本

最近网上查了很多关于php 检测图片木马的文章  基本上都是千篇一律 在这里我从这些文章总结了一个靠谱的方法 一.首先从制作原理来分析这种木马程序.这种木马程序是十六进制编码写的,所以我们可以通过检测十六进制代码来检测木马脚本 1.首先上传图片文件,我们要自己定义一个上传文件的方法,然后方法中调用thinkphp中框架写好的Upload类,但是框架中的类没有检测木马图片的功能,所以我们可以自己写一个upload类 <?php /** +------------------------------

6月19 使用tp框架生成验证码及文件上传

ThinkPHP中自带能生成验证码的类:ThinkPHP/Library/Think/Verify.class.php 默认情况下,验证码的字体是随机使用 ThinkPHP/Library/Think/Verify/ttfs/目录下面的字体文件,我们可以指定验证码的字体 汉字的验证码:ThinkPHP/Library/Think/Verify/zhttfs/添加中文的字体格式 更改字体:ttf格式 关于验证码的一些知识点: 1.例题:通过验证码实现用户的登录,并利用jquery实现点击图片验证码

简单利用filetype进行文件上传

对于文件上传大家都很熟悉了,毕竟文件上传是获取webshell的一个重要方式之一,理论性的东西参考我的另一篇汇总文章<浅谈文件解析及上传漏洞>,这里主要是实战补充一下理论内容--filetype漏洞! filetype漏洞主要是针对content-type字段,主要有两种利用方式:    1.先上传一个图片,然后将content-type:image/jpeg改为content-type:text/asp,然后对filename进行00截断,将图片内容替换为一句话木马. 2.直接使用burp抓

jquery-ajax实现文件上传异常处理web.multipart.MultipartException

异常如下: org.springframework.web.multipart.MultipartException: The current request is not a multipart request 原因分析: 可能原因1: form表单中没有添加 enctype="multipart/form-data" 属性 可能原因2: 请求方式必须为post,如果不是则必定出错 可能原因3: 请求的contentType不是"multipart/form-data&qu

SpringMVC中文件上传的客户端验证

SpringMVC中文件上传的客户端验证 客户端验证主要思想:在jsp页面中利用javascript进行对文件的判断,完成验证后允许上传 验证步骤:1.文件名称 2.获取文件的后缀名称 3.判断哪些文件类型允许上传 4.判断文件大小 5.满足条件后跳转后台实现上传 前台界面(验证上传文件是否格式满足要求): <body> <h2>文件上传</h2> <form action="upload01" method="post" 

文件上传

1.上传的步骤: a.导入SmartUpload.jar b.创建一个上传的类的对象 c.初始化 d.上传至服务器 e.保存 表单提交时需要指定enctype="multipart/form-data"(多数据类型提交) http://www.atguigu.com/opensource.shtml#3(包下载地址) package com.zuxia.servlet; import java.io.IOException;import java.io.PrintWriter; imp