之前也做过文件上传,现在学了tp,用tp怎么做呢?
第一步:做一个Wenjian控制器:
<?php
namespace Ceshi\Controller;
use Think\Controller;
class WenjianController extends Controller
{
public function shangchuan(){
$this->show();
}
public function wjsc(){
$upload = new \Think\Upload(); // 实例化上传类 造对象
$upload->maxSize = 1024000; // 设置附件上传大小
$upload->rootPath = "./Public/"; //文件存放的根路径
$upload->savePath = "upload/"; //设置当前文件存放的位置
$upload->exts = array('jpg', 'gif', 'png', 'jpeg'); // 设置附件上传类型
$info = $upload->upload(); //上传文件并返回文件信息
if(!$info)
{
// 上传错误提示错误信息 echo $upload->getError(); }else{
//上传成功,遍历$info,
//因为返回成功上传的文件信息数组是二维数组
foreach($info as $file)
{
echo "上传成功,文件存放在:".$file['savepath'].$file['savename'];
}
}
} }
第二步:做显示页面 shangchuan.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<h1>文件上传</h1>
<!--要使用上传功能 你的表单需要设置 enctype="multipart/form-data"-->
<form action="__CONTROLLER__/wjsc" method="post" enctype="multipart/form-data">
<input type="file" name="file"/>
<input type="submit" value="上传" />
</form>
</body>
</html>
看一下效果:
点击选中的文件,并打开
文件已经选中:
点击上传:会显示上传成功,并输出 路径 加 文件名
看一下Public文件下的upload文件是否已上传该文件:
选中的图片已经上传到该目录下了~~~~~
tp框架-----文件上传的更多相关文章
-
tp 框架 -文件上传
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 <?ph ...
-
ssh框架文件上传下载
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
-
第二百七十三节,Tornado框架-文件上传
Tornado框架-文件上传 第一.普通表单上传文件 self.request.files["fafafa"] 获取上传文件信息,参数["上传文件框的name名称&quo ...
-
SSH,SSM框架文件上传
一.了解文件上传 1.1 什么是文件上传 将本地文件通过流的形式写到服务器上 1.2 文件上传的技术 JspSmartUpload: 其组件是应用jsp进行B/S程序开发过 ...
-
文件上传—SSM框架文件上传
1.准备上传下载的api组件 <dependency> <groupId>commons-io</groupId> <artifactId>common ...
-
TP框架多上传域上传图片
问题: 学习使用TP框架做电商网站是,添加商品表单需要上传商品logo和商品图片pics,有两个上传域,第一个上传域是logo,只上传一张,第二个上传域是pics,上传多张图片.使用如下代码,总是报错 ...
-
Android采取async框架文件上传
页面效果 须要的权限 <uses-permission android:name="android.permission.INTERNET"/> 网络訪问权限; 布局文 ...
-
文件上传—SSH框架文件上传
1.准备上传的api组件 <dependency> <groupId>commons-io</groupId> <artifactId>commons- ...
-
ssm框架文件上传
有两种方法 导包和上传配置自己搞: 第一种: 上传单个文件: @RequestMapping("/addfile1") public String addfile(@Request ...
随机推荐
-
【代码笔记】iOS-UILable高度自适应(sizeWithFont)
一,代码. - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. ...
-
更改项目名或者多个项目时,发现多个";Home";匹配的Controller时,解决方法
[备份]异常信息:找到多个与名为“Home”的控制器匹配的类型.如果为此请求(“{controller}/{action}/{id}”)提供服务的 路由在搜索匹配此请求的控制器时没有指定命名空间,则会 ...
-
JLink and JTAG等接口简介
1.JTAG JTAG用的计算机的并口,JTAG也是一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测试.现在多数的高级器件都支持JTAG协议,如DSP.FPGA器件等. 标准的J ...
-
对C# 中Readonly的再认识
C#中有两种常量类型,分别为readonly(运行时常量)与const(编译时常量),本文将就这两种类型的不同特性进行比较并说明各自的适用场景. 工作原理 readonly为运行时常量,程序运行 ...
-
当使用System,out.println()打印一个对象是自动调用toString方法
在Java中,所有的对象都是继承自Object,自然继承了toString方法,在当使用System,out.println()里面为一个对象的引用时,自动调用toString方法讲对象打印出来.如果 ...
-
hibernate学习(四)hibernate的一级缓存&;快照
缓存:提高效率 硬件的 CPU缓存 硬盘缓存 内存 软件的 io流缓存 hibernate 的一级缓存 也是为了操作数据库的效率. 证明一级缓存在 : Person p=sessio ...
- jsonp实现跨域资源共享原理
-
Python——模块——时间模块
1.time模块 (1)时间戳 >>> time.time() 1472016249.393169 (2)将时间戳转换成当前时间元祖 time.localtime()time.gmt ...
-
Mac + OpenCV3.3.0 + PyCharm (非常简单的配置过程)
最近要用python来写opencv,主要是需要学习计算机视觉和机器学习.看了网上的配置过程,愣是把一件简单的事搞复杂了. 话不多说,配环境走起! 打开PyCharm,找到Preferences 尝试 ...
-
Ajax请求导出Excel的问题
文章转载自: http://yuwenlin.iteye.com/blog/2275289 Ajax请求导出Excel的问题描述: 前端发起Ajax请求get或post,后台使用Poi生成excel文 ...