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 ...
随机推荐
- JavaScript——理解闭包及作用
js是一个函数级语言,变量的作用域是: 内部可以访问内部,内部可以访问外部,外部不能访问内部. 如果要在外部,访问函数内部的变量,就要用到闭包.闭包就是指访问到了本不该访问的变量. 闭包作用1:实现封 ...
- Android错误
1. [2016-09-16 14:25:45 - X_Card] Found 2 versions of android-support-v4.jar in the dependency list, ...
- linux下动态链接库解决方案(二)
以前写过一个关于linux下用c++写动态链接库无法通过的解决方案,今天看到<linux C程序设计-王者归来>这本书,书中有个更容易的解决方案,特此记录下来 书中使用的是c语言,我改用c ...
- 页面位置 top、postop、scrolltop、offsetTop、scrollHeight、offsetHeight、clientHe
1.top 此属性仅仅在对象的定位(position)属性被设置时可用.否则,此属性设置会被忽略. 代码如下: <div style=" position:absolute; widt ...
- 【目录】 hadoop2.6.0
hadoop2.6.0 安装+例子运行 数据丢失问题解决 通过代码运行程序流程 利用Hadoop的 Java API 利用JAVA API 实现数据上传
- 1.UI初认识
前节:app是什么? app英文全称:application 应用程序,简称应用.也就是手机应用的简写 出处:http://www.cnblogs.com/mcj-coding/p/5098254.h ...
- Qt文件路径分隔符
QDir::toNativeSeparators()QDir::separator()
- 关于Android 5.0 网络图标叹号的解决办法
那么下面就给出解决方法(无需root): 1.完全屏蔽网络检查功能,最简单快速,但是就没有办法提示wifi登录: adb shell "settings put global captive ...
- C++静态库与动态库
C++静态库与动态库 这次分享的宗旨是--让大家学会创建与使用静态库.动态库,知道静态库与动态库的区别,知道使用的时候如何选择.这里不深入介绍静态库.动态库的底层格式,内存布局等,有兴趣的同学,推荐一 ...
- 数据库事务(Database Transaction)概述
事务概念 事务可以用很多很多不同的方式去定义.事务是数据库操作执行的一个逻辑工作单元,是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位.例如, 在关系数据库中, 一 ...