• 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 HomeController;
     3 use ThinkController;
     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 ThinkUpload($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>
  • 相关阅读:
    iOS9TableView分割线默认不显示,只有滑动的时候才显示 解决办法
    bug调试大全
    清理缓存
    Objective-C文件和目录操作,IOS文件操作,NSFileManager使用文件操作
    dispatch_async 与 dispatch_get_global_queue 的使用方法
    ios UISearchController
    开发报错调试总结
    返回查询结果的id返回插入数据的id值
    前端监听事件
    datetime-local设置初始值
  • 原文地址:https://www.cnblogs.com/haodayikeshu/p/5509767.html
Copyright © 2020-2023  润新知