一、上传表单:

注意,要使用上传功能 你的表单需要设置 enctype="multipart/form-data"

  1. <form action="__URL__/upload" enctype="multipart/form-data" method="post" >
  2. <input type="text" name="name" />
  3. <input type="file" name="photo" />
  4. <input type="submit" value="提交" >
  5. </form>

二、上传操作:

上传类对图片文件的上传安全做了支持,如果企图上传非法的图像文件,系统会提示 非法图像文件。 为了更好的使用上传功能,建议你的服务器开启finfo模块支持

  1. public function upload()
  2. { $upload = new \Think\Upload();// 实例化上传类
  3. $upload->maxSize = 3145728 ;// 设置附件上传大小
  4. $upload->exts = array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型
  5. $upload->savePath = './Public/Uploads/'; // 设置附件上传目录 // 上传文件
  6. $info = $upload->upload();
  7. if(!$info)
  8. {// 上传错误提示错误信息
  9. $this->error($upload->getError());
  10. }
  11. else
  12. {// 上传成功
  13. $this->success('上传成功!');
  14. }
  15. }

三上传参数:

  1. 属性 描述
  2. maxSize 文件上传的最大文件大小(以字节为单位),0为不限大小
  3. rootPath 文件上传保存的根路径
  4. savePath 文件上传的保存路径(相对于根路径)
  5. saveName 上传文件的保存规则,支持数组和字符串方式定义
  6. saveExt 上传文件的保存后缀,不设置的话使用原文件后缀
  7. replace 存在同名文件是否是覆盖,默认为false
  8. exts 允许上传的文件后缀(留空为不限制),使用数组或者逗号分隔的字符串设置,默认为空
  9. mimes 允许上传的文件类型(留空为不限制),使用数组或者逗号分隔的字符串设置,默认为空
  10. autoSub 自动使用子目录保存上传文件 默认为true
  11. subName 子目录创建方式,采用数组或者字符串方式定义
  12. hash 是否生成文件的hash编码 默认为true
  13. callback 检测文件是否存在回调,如果存在返回文件信息数组

四、实例化传入(动态赋值)

  1. $upload = new \Think\Upload();// 实例化上传类
  2. $upload->maxSize = 3145728;
  3. $upload->savePath = './Public/Uploads/';
  4. $upload->saveName = array('uniqid','');
  5. $upload->exts = array('jpg', 'gif', 'png', 'jpeg');
  6. $upload->autoSub = true;
  7. $upload->subName = array('date','Ymd');

五、例子:

MainController.class.php

  1. <?php
  2. namespace Parent\Controller;
  3. use Think\Controller;
  4. class MainController extends Controller
  5. {
  6. public function fff()
  7. {
  8. $this->display();
  9. }
  10. public function upload()
  11. {
  12. $upload = new \Think\Upload();// 实例化上传类
  13. $upload->maxSize = 3145728; //设置上传文件的大小
  14. $upload->rootPath='./Public/'; //相对路径
  15. $upload->savePath = './Uploads/';//和rootPath配合使用,路径为./Public/Uploads
  16. $upload->saveName = array('uniqid','');//上传文件的保存规则,支持数组和字符串方式定义
  17. $upload->exts = array('jpg', 'gif', 'png', 'jpeg');//上传文件的类型
  18. $upload->autoSub = true;//自动使用子目录保存上传文件 默认为true,
  19. $upload->subName = array('date','Ymd');//子目录创建方式,采用数组或者字符串方式定义,和autosub配合使用
  20. $info = $upload->upload();
  21. if(!$info)
  22. {// 上传错误提示错误信息
  23. $this->error($upload->getError());
  24. }
  25. else
  26. {// 上传成功
  27. $this->success('上传成功!');
  28. }
  29. }
  30. }

fff.html

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>无标题文档</title>
  6. </head>
  7.  
  8. <body>
  9. <!--__CONTROLLER或者__URL__/upload都可以-->
  10. <form action="__CONTROLLER__/upload" enctype="multipart/form-data" method="post">
  11. <div>
  12. <input type="file" name="file" /><input type="submit" value="提交" />
  13. </div>
  14. </form>
  15. </body>
  16. </html>

________

tp文件上传;org/RBAC.class.php 权限类;think/page,class,php分页类;的更多相关文章

  1. TP文件上传

    一.单文件上传 <form action="__ACTION__" enctype="multipart/form-data" method=" ...

  2. 【SFTP】使用Jsch实现Sftp文件上传-支持断点续传和进程监控

    JSch是Java Secure Channel的缩写.JSch是一个SSH2的纯Java实现.它允许你连接到一个SSH服务器,并且可以使用端口转发,X11转发,文件传输等,当然你也可以集成它的功能到 ...

  3. Java Struts文件上传和下载详解

    Struts2文件上传 Struts 2框架提供了内置支持处理文件上传使用基于HTML表单的文件上传.上传一个文件时,它通常会被存储在一个临时目录中,他们应该由Action类进行处理或移动到一个永久的 ...

  4. Android(java)学习笔记214:开源框架的文件上传(只能使用Post)

    1.文件上传给服务器,服务器端必然要写代码进行支持,如下: 我们新建一个FileUpload.jsp的动态网页,同时我们上传文件只能使用post方式(不可能将上传数据拼凑在url路径下),上传数据Ap ...

  5. JavaEE开发之SpringMVC中的自定义消息转换器与文件上传

    上篇博客我们详细的聊了<JavaEE开发之SpringMVC中的静态资源映射及服务器推送技术>,本篇博客依然是JavaEE开发中的内容,我们就来聊一下SpringMVC中的自定义消息转发器 ...

  6. Struts2实现文件上传(一)

    Struts2实现文件上传 文件上传成功后结果页面 result.jsp: <%@ page language="java" import="java.util.* ...

  7. 转:在Struts 2中实现文件上传

    (本文转自:http://www.blogjava.net/max/archive/2007/03/21/105124.html) 前一阵子有些朋友在电子邮件中问关于Struts 2实现文件上传的问题 ...

  8. java框架篇---struts之文件上传和下载

    Struts2文件上传 Struts 2框架提供了内置支持处理文件上传使用基于HTML表单的文件上传.上传一个文件时,它通常会被存储在一个临时目录中,他们应该由Action类进行处理或移动到一个永久的 ...

  9. JFinal文件上传时直接使用getPara()去接受表单的数据接收到的数据一直是null?

    解决方案: 在文件上传页面form 标签中使用: enctype="multipart/form-data" 在controller类中先调用getFile系列方法才能使getPa ...

随机推荐

  1. Webdriver配合Tesseract-OCR 自动识别简单的验证码

    验证码: 如下,在进行自动化测试,遇到验证码的问题,一般有两种方式 1.找开发去掉验证码或者使用万能验证码 2.使用OCR自动识别 使用OCR自动化识别,一般识别率不是太高,处理一般简单验证码还是没问 ...

  2. .NET LINQ查询语法与方法语法

    LINQ 查询语法与方法语法      通过使用 C# 3.0 中引入的声明性查询语法,介绍性 LINQ 文档中的多数查询都被编写为查询表达式. 但是,.NET 公共语言运行时 (CLR) 本身并不具 ...

  3. php随机生成验证码代码

    <?php session_start(); //产生一个随机的字符串验证码 $checkcode=""; for ($i=0;$i<4;$i++){ $checkco ...

  4. 不会JavaScript能混前端么?能拿到高薪么?

    不会JavaScript能混前端么?能拿到高薪么? 答案是:很难! 为什么这么说呢,理由很简单 1)有很多企业不注重前端开发,当然也就不会给你高薪了,这样的企业以小企业居多. 他们一般对前端开发的认识 ...

  5. Android开发之---Activity生命周期

    Android开发中,有四大组件:Activity.Service.Content Provider.Broadcast Receiver,可以说,activity的使用是最频繁的了,这里来梳理一下与 ...

  6. Lattice FPGA 板子 调试笔记

    最近在调试LATTICE  FPGA 做的视频板子,颇不顺利,所以记录下来作为以后的参考: 1.FPGA的IO口不是所有的都是双向的,有些有特殊作用的是单向的. 在查阅 LatticeECP3-17E ...

  7. 小议ARM寄存器

    ARM微处理器一共有37个32位寄存器,其中包括31个通用寄存器和6个状态寄存器,但是这些寄存处不能同时访问.但是通用寄存器R14 - R0 ,程序计数器PC(即R15),程序状态寄存器都是可以任何时 ...

  8. 使用SQL Server Analysis Services数据挖掘的关联规则实现商品推荐功能(七)

    假如你有一个购物类的网站,那么你如何给你的客户来推荐产品呢?这个功能在很多电商类网站都有,那么,通过SQL Server Analysis Services的数据挖掘功能,你也可以轻松的来构建类似的功 ...

  9. 前端设计中关于外部js文件加载的速度优化

    在一般情况下,许多人都是将<script>写在了<head>标签中,而许多浏览器都是使用单一的线程来加载js文件的,从上往下,从左往右. 若是加载过程出错,那么网页就会阻塞,就 ...

  10. 在Jenkins中获取GitHub对应Repository的Resource Code

    1):Install Jenkins 请看如下链接: https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins 2):Install ...