一、上传表单:

注意,要使用上传功能 你的表单需要设置 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分页类;的更多相关文章

  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. 配置ngnix

    server { listen ; server_name www.aaa.com; root /home/www/...; index index.php index.html index.htm; ...

  2. MiniProfiler(MiniProfiler.EF6监控调试MVC5和EF6的性能)

    git:  https://github.com/MiniProfiler 以前开发Webform的时候可以开启trace来跟踪页面事件,这对于诊断程序的性能是有很大的帮助的,起到事半功倍的作用,今天 ...

  3. FluentValidation

    git :https://github.com/JeremySkinner/FluentValidation Example using FluentValidation; public class ...

  4. Servlet 之 HttpServlet

    package cn.jiemoxiaodi.http; import java.io.IOException; import javax.servlet.GenericServlet; import ...

  5. 64位win7下安装SQL Server 2008(图文解说版)

    运行sql安装 单击安装-全新的sql server独立安装,如果我们准备好了故障转移群集,那么我们就可以创建故障转移群集sql 常规检查 一笑而过 选择版本,或者输入密钥自动识别版本 授权协议 支持 ...

  6. SpringMVC拦截器

    springmvc的拦截器 需求:进行用户的访问控制,判断用户是否登陆,如果登陆进行正常访问,如果没有登陆跳转到登陆页面. 1自定义拦截器类 package org.guangsoft.utils; ...

  7. Java基础之集合与泛型

    话不多说,直接上图 1.Collection集合小结 注意: 凡是使用哈希表保存对象的容器,保存的对象在容器中都是唯一的,唯一性是通过被保存对象的hashCode和equals方法共同确定: 凡是使用 ...

  8. angularjs---select使用---默认值及联动

    angularjs---select使用---默认值及联动   代码 一. select设置默认显示内容&&获取下拉框显示内容. HTML <div> <select ...

  9. 日期与时间戳相互转化(js)

    function datetime_to_unix(datetime){     var tmp_datetime = datetime.replace(/:/g,'-');     tmp_date ...

  10. Git Push 避免用户名和密码方法

    参考这里: http://www.cnblogs.com/ballwql/p/3462104.html 亲测第一种方法有效