当前位置: 首页 > news >正文

2016/05/19 thinkphp 3.2.2 文件上传

显示效果:  多文件上传。  这里是两个文件一起上传

上传到文件夹的效果:

①aa为调用Home下common文件夹下的function.php  中的rname方法  实现的

②cc为调用与Home平级文件夹common下的common文件夹下的function.php

以上是放公共方法的地方   程序可以自动调用

 

③一瓶水.gif 的显示: 在linux操作系统下不会出现乱码   但在windows下会出现乱码

解决办法:找到核心目录  thinkphp下的library下的Upload下的local.class.php  取其83行代码

如下图:原本没有    iconv('utf-8','gb312',$filename)  加上之后就是下面的效果   解决上传文件名显示乱码的问题     文件显示正常  如:一瓶水

 

代码:

①控制器部分:UploadController.class.php    注意点 上传文件

empty($_FILES["photo"])  传来的值用  $_FILES 来接收 
 1 <?php 
 2 namespace Home\Controller;
 3 use Think\Controller;
 4 class UploadController extends Controller
 5     {
 6 
 7         public function Upload(){
 8             if (empty($_FILES["photo"])) {
 9                 $this->display();
10             }
11             else
12             {
13                 $config=array(
14                     'maxSize' => 3145728,
15                     'rootPath'=>'./Public/',
16                     'savePath' => 'Uploads',
17                     //'saveName' => array('uniqid',''),//上传文件保存名称规则,字符串和数组形式  这是数组形式
18                     'exts'=>array('jpg','gif','png','jpeg'),
19 
20                     //'autoSub'=> true,
21                     //'subName'=> array('date','Ymd'),
22                     'saveName'=>'',//上传文件保存名称规则,字符串和数组形式  这是字符串形式 空字符串
23                     );
24                 
25                 $upload=new \Think\Upload($config);//实例化上传类
26                 $info=$upload->upload();
27                     if (!$info) {//上传错误提示错误信息
28                         $this->error($upload->getError());
29                     }
30                     else
31                     {  //上传成功
32                         //$this->success('上传成功!');
33                         foreach ($info as $value) {
34                             echo $value['savepath'].$value['savename'];
35                         }
36                     }
37 
38                     };
39                 }
40 
41 
42             }
43 
44  ?>

 

②模板部分

Upload.html

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>上传下载</title>
 6 </head>
 7 <body>
 8     <form action="__SELF__" enctype="multipart/form-data" method="post"> 
 9         <input type="file" name="photo"></input>
10         <input type="file" name="photo1"></input>
11           <input type="submit" value="上传"></input>
12     </form>
13 </body>
14 </html>

 

转载于:https://www.cnblogs.com/haodayikeshu/p/5509767.html

相关文章:

  • 如何升级CentOS 6.5下的MySQL
  • Linux系统命令查询软件包
  • 第十二周学习进度
  • ios实用wifi分析仪——AirPort
  • 主线程中创建不同的handler实例,接收消息会不会冲突
  • HDOJ-1412(set)
  • [PHP源码阅读]empty和isset函数
  • Codeforces Round #329 div2
  • sublime text 2 配置php调试环境
  • Hibernate java.lang.NoSuchFieldError: INSTANCE
  • mysql学习笔记4---mysql 复制---源代码
  • linux下安装LoadRunner LoadGenerator
  • return和finally的执行顺序
  • Java System.getProperty()
  • 构建之法读后感
  • [PHP内核探索]PHP中的哈希表
  • “大数据应用场景”之隔壁老王(连载四)
  • 《网管员必读——网络组建》(第2版)电子课件下载
  • Angular 2 DI - IoC DI - 1
  • es6--symbol
  • ES6--对象的扩展
  • Hibernate【inverse和cascade属性】知识要点
  • java取消线程实例
  • js ES6 求数组的交集,并集,还有差集
  • npx命令介绍
  • react-core-image-upload 一款轻量级图片上传裁剪插件
  • vue脚手架vue-cli
  • 第十八天-企业应用架构模式-基本模式
  • 如何胜任知名企业的商业数据分析师?
  • 如何抓住下一波零售风口?看RPA玩转零售自动化
  • 移动端解决方案学习记录
  • 中文输入法与React文本输入框的问题与解决方案
  • 走向全栈之MongoDB的使用
  • 宾利慕尚创始人典藏版国内首秀,2025年前实现全系车型电动化 | 2019上海车展 ...
  • 测评:对于写作的人来说,Markdown是你最好的朋友 ...
  • ​​​​​​​ubuntu16.04 fastreid训练过程
  • # Java NIO(一)FileChannel
  • #if 1...#endif
  • #stm32整理(一)flash读写
  • #我与Java虚拟机的故事#连载04:一本让自己没面子的书
  • (3)STL算法之搜索
  • (Demo分享)利用原生JavaScript-随机数-实现做一个烟花案例
  • (板子)A* astar算法,AcWing第k短路+八数码 带注释
  • (二十三)Flask之高频面试点
  • (附源码)springboot建达集团公司平台 毕业设计 141538
  • (附源码)计算机毕业设计ssm本地美食推荐平台
  • (数位dp) 算法竞赛入门到进阶 书本题集
  • ./configure,make,make install的作用(转)
  • .net core 6 redis操作类
  • .net core 连接数据库,通过数据库生成Modell
  • .NET delegate 委托 、 Event 事件
  • .NET 将混合了多个不同平台(Windows Mac Linux)的文件 目录的路径格式化成同一个平台下的路径
  • .NET/C# 项目如何优雅地设置条件编译符号?
  • .NETCORE 开发登录接口MFA谷歌多因子身份验证
  • .Net调用Java编写的WebServices返回值为Null的解决方法(SoapUI工具测试有返回值)