• thinkphp3.2.3多图上传并且生成多张缩略图


    html部分

    <!DOCTYPE html>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>图片上传</title>
    </head>
    <body>
    <form enctype="multipart/form-data" action="__URL__/upload" method="post">
        <input type="file" name="photo[]" multiple>
        <input type="submit" value="提交">
    </form>
    </body>
    </html>

    php代码

    <?php
    namespace HomeController;
    use ThinkController;

    class IndexController extends Controller {
        public function upload() {
            $upload = new ThinkUploadFile();// 实例化上传类
            $upload->maxSize = 3000000 ;// 设置附件上传大小  C('UPLOAD_SIZE');
            $upload->savePath = './Uploads/' . 'thumb/'; // 设置附件上传目录
            $upload->allowExts = array('jpg', 'gif', 'png', 'jpeg'); // 设置附件上传类型
            $upload->saveRule = 'uniqid';
            $upload->uploadReplace = true; //是否存在同名文件是否覆盖
            
            $upload->thumb = true; //是否对上传文件进行缩略图处理
            $upload->thumbMaxWidth = '300,600'; //缩略图处理宽度
            $upload->thumbMaxHeight = '200,400'; //缩略图处理高度
            $upload->thumbPrefix = 'm_,s_';  //生产2张缩略图
            $upload->thumbPath = './Uploads/' . 'thumb/' . date('Ymd', time()) . '/'; //缩略图保存路径
             
            $upload->thumbRemoveOrigin = true; //上传图片后删除原图片
            $upload->autoSub = true; //是否使用子目录保存图片
            $upload->subType = 'date'; //子目录保存规则
            $upload->dateFormat = 'Ymd'; //子目录保存规则为date时时间格式
            
            if (!$upload->upload()) {// 上传错误提示错误信息
                $this->error($upload->getError());
            } else {

         // 上传成功 获取上传文件信息
                $info = $upload->getUploadFileInfo();
                foreach ( $info as $file ) {

           // 保存当前数据对象
                    $model = M ( 'web_img' );
                    $picname = $file['savename'];
                    $picname = explode('/', $picname);
                    $url1 = $picname[0] . '/' . 'm_' . $picname[1];
                    $url2 = $picname[0] . '/' . 's_' . $picname[1];
                    $temp["face"] = $file['savepath'].$url2;    //大缩略图
                    $temp["thumb"] = $file['savepath'].$url1;   //小缩略图
                    $temp["Addtime"] = date("Y/m/d H:i:s");
                    $save=$model->add ( $temp );
                }
                if($save){
                    $this->success('上传成功!');
                }
            }
             
        }
    }

    多图上传几个注意点:

    1、<form enctype="multipart/form-data">
     
    2、<input type="file" name="photo[]" multiple>
     
    3、注意thinkphp3.2.2并没有UploadFile,UploadImage 类 
    要自己加入: 把他们放到ThinkPHPLibraryThink目录下     下载我百度网盘点击下载:UploadFile,UploadImage 类下载
  • 相关阅读:
    React Native的生命周期解析
    React Native中组件的props和state
    centos7修改主机名
    nodejs搭建web项目
    centos7默认防火墙firewalld
    初窥 MongoDB
    阿里云Ubuntu安装图形界面与中文语言包
    安装nginx
    PHP静态化技术
    PHP工厂模式
  • 原文地址:https://www.cnblogs.com/lonnie/p/6668448.html
Copyright © 2020-2023  润新知