显示效果: 多文件上传。 这里是两个文件一起上传
上传到文件夹的效果:
①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>