tp文件上传;org/RBAC.class.php 权限类;think/page,class,php分页类;
一、上传表单:
注意,要使用上传功能 你的表单需要设置 enctype="multipart/form-data"
<form action="__URL__/upload" enctype="multipart/form-data" method="post" > <input type="text" name="name" /> <input type="file" name="photo" /> <input type="submit" value="提交" > </form>
二、上传操作:
上传类对图片文件的上传安全做了支持,如果企图上传非法的图像文件,系统会提示 非法图像文件。 为了更好的使用上传功能,建议你的服务器开启finfo模块支持
public function upload()
{ $upload = new \Think\Upload();// 实例化上传类
$upload->maxSize = 3145728 ;// 设置附件上传大小
$upload->exts = array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型
$upload->savePath = './Public/Uploads/'; // 设置附件上传目录 // 上传文件
$info = $upload->upload();
if(!$info)
{// 上传错误提示错误信息
$this->error($upload->getError());
}
else
{// 上传成功
$this->success('上传成功!');
}
}
三上传参数:
属性 描述
maxSize 文件上传的最大文件大小(以字节为单位),0为不限大小
rootPath 文件上传保存的根路径
savePath 文件上传的保存路径(相对于根路径)
saveName 上传文件的保存规则,支持数组和字符串方式定义
saveExt 上传文件的保存后缀,不设置的话使用原文件后缀
replace 存在同名文件是否是覆盖,默认为false
exts 允许上传的文件后缀(留空为不限制),使用数组或者逗号分隔的字符串设置,默认为空
mimes 允许上传的文件类型(留空为不限制),使用数组或者逗号分隔的字符串设置,默认为空
autoSub 自动使用子目录保存上传文件 默认为true
subName 子目录创建方式,采用数组或者字符串方式定义
hash 是否生成文件的hash编码 默认为true
callback 检测文件是否存在回调,如果存在返回文件信息数组
四、实例化传入(动态赋值)
$upload = new \Think\Upload();// 实例化上传类
$upload->maxSize = 3145728;
$upload->savePath = './Public/Uploads/';
$upload->saveName = array('uniqid','');
$upload->exts = array('jpg', 'gif', 'png', 'jpeg');
$upload->autoSub = true;
$upload->subName = array('date','Ymd');
五、例子:
MainController.class.php
<?php
namespace Parent\Controller;
use Think\Controller;
class MainController extends Controller
{
public function fff()
{
$this->display();
}
public function upload()
{
$upload = new \Think\Upload();// 实例化上传类
$upload->maxSize = 3145728; //设置上传文件的大小
$upload->rootPath='./Public/'; //相对路径
$upload->savePath = './Uploads/';//和rootPath配合使用,路径为./Public/Uploads
$upload->saveName = array('uniqid','');//上传文件的保存规则,支持数组和字符串方式定义
$upload->exts = array('jpg', 'gif', 'png', 'jpeg');//上传文件的类型
$upload->autoSub = true;//自动使用子目录保存上传文件 默认为true,
$upload->subName = array('date','Ymd');//子目录创建方式,采用数组或者字符串方式定义,和autosub配合使用
$info = $upload->upload();
if(!$info)
{// 上传错误提示错误信息
$this->error($upload->getError());
}
else
{// 上传成功
$this->success('上传成功!');
}
}
}
fff.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> </head> <body> <!--__CONTROLLER或者__URL__/upload都可以--> <form action="__CONTROLLER__/upload" enctype="multipart/form-data" method="post"> <div> <input type="file" name="file" /><input type="submit" value="提交" /> </div> </form> </body> </html>
________
tp文件上传;org/RBAC.class.php 权限类;think/page,class,php分页类;的更多相关文章
- TP文件上传
一.单文件上传 <form action="__ACTION__" enctype="multipart/form-data" method=" ...
- 【SFTP】使用Jsch实现Sftp文件上传-支持断点续传和进程监控
JSch是Java Secure Channel的缩写.JSch是一个SSH2的纯Java实现.它允许你连接到一个SSH服务器,并且可以使用端口转发,X11转发,文件传输等,当然你也可以集成它的功能到 ...
- Java Struts文件上传和下载详解
Struts2文件上传 Struts 2框架提供了内置支持处理文件上传使用基于HTML表单的文件上传.上传一个文件时,它通常会被存储在一个临时目录中,他们应该由Action类进行处理或移动到一个永久的 ...
- Android(java)学习笔记214:开源框架的文件上传(只能使用Post)
1.文件上传给服务器,服务器端必然要写代码进行支持,如下: 我们新建一个FileUpload.jsp的动态网页,同时我们上传文件只能使用post方式(不可能将上传数据拼凑在url路径下),上传数据Ap ...
- JavaEE开发之SpringMVC中的自定义消息转换器与文件上传
上篇博客我们详细的聊了<JavaEE开发之SpringMVC中的静态资源映射及服务器推送技术>,本篇博客依然是JavaEE开发中的内容,我们就来聊一下SpringMVC中的自定义消息转发器 ...
- Struts2实现文件上传(一)
Struts2实现文件上传 文件上传成功后结果页面 result.jsp: <%@ page language="java" import="java.util.* ...
- 转:在Struts 2中实现文件上传
(本文转自:http://www.blogjava.net/max/archive/2007/03/21/105124.html) 前一阵子有些朋友在电子邮件中问关于Struts 2实现文件上传的问题 ...
- java框架篇---struts之文件上传和下载
Struts2文件上传 Struts 2框架提供了内置支持处理文件上传使用基于HTML表单的文件上传.上传一个文件时,它通常会被存储在一个临时目录中,他们应该由Action类进行处理或移动到一个永久的 ...
- JFinal文件上传时直接使用getPara()去接受表单的数据接收到的数据一直是null?
解决方案: 在文件上传页面form 标签中使用: enctype="multipart/form-data" 在controller类中先调用getFile系列方法才能使getPa ...
随机推荐
- OOCSS的概念和思路
<概念> <思路> 面向对象的CSS有两个原则: 独立的结构和样式 独立的容器和内容 以下几点是创建OOCSS的关键部分: 创建一个组件库 独立的容器和内容,并且避免样式来依赖 ...
- git workflow
1) fork map-matcher.git repo 2) add ssh-keygen public key to gitlab 3) clone repo git clone git@git. ...
- Python之反射,正则
本节主要内容: 一. 反射: getattr hasattr setattr defattr 二. 补充模块中特殊的变量 三. 正则表达式 re模块 (一)反射: hasattr(object, na ...
- 6.openstack之mitaka搭建网络节点
部署网络服务 一:控制节点配置 1.建库建用户 mysql -u root -p CREATE DATABASE neutron; GRANT ALL PRIVILEGES ON neutron.* ...
- [Android Pro] PullToRefreshListView怎么设置各个item之间的间距
reference to : http://blog.csdn.net/qq_25943493/article/details/50923895 要设置第三方的上拉下载listView的item之间 ...
- MapReduce类型与格式(输入与输出)
一.输入格式 (1)输入分片记录 ①JobClient通过指定的输入文件的格式来生成数据分片InputSplit: ②一个分片不是数据本身,而是可分片数据的引用: ③InputFormat接口负责生成 ...
- MFC中CListCtrl控件的使用方法
定义一个派生类CViewList 派生于CListCtrl 在要包含该控件的类(CView)中定义一个CViewList类型的变量 CViewList m_wndListView; 在CView响应的 ...
- WPF 实现 DataGrid/ListView 分页控件
在WPF中,通常会选用DataGrid/ListView进行数据展示,如果数据量不多,可以直接一个页面显示出来.如果数据量很大,2000条数据,一次性显示在一个页面中,不仅消耗资源,而且用户体验也很糟 ...
- 图文:通过sql server 连接mysql
1.在SQL SERVER服务器上安装MYSQL ODBC驱动; 驱动下载地址:http://dev.mysql.com/downloads/connector/odbc/ 2.安装好后,在管理工具- ...
- iOS Runtime学习笔记
Associated Objects: @interface NSObject (AssociatedObject) @property (nonatomic, strong) id associat ...