2016/05/19 thinkphp 3.2.2 文件上传
Posted 一棵树2016
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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>
以上是关于2016/05/19 thinkphp 3.2.2 文件上传的主要内容,如果未能解决你的问题,请参考以下文章