zoukankan      html  css  js  c++  java
  • tp5 生成缩略图片

    我先说下我的思路,先把正常图片存到服务器,再通过代码将服务器上的大图压缩,生成新的小图替代大图

    下面上代码

    前台HTML代码

    <div class="upload-btn">
    	<input class="pic-ipt" type="file" accept="image/*" />
    </div>
    

    script代码

     

    function upload_img(cid){
    			var formData = new FormData();
    			formData.append("file", $(this).get(0).files[0]);
    		    $.ajax({
    		        url:'./upload_photo',
    		        type:'POST',
    		        data:formData,
    		        cache: false,
    		        contentType: false,
    		        processData: false,
    		        success:function(data){
    		        	console.log(data);
    		        }
    		    });
    		}
    

    php代码   

    /**
         * 上传
         */
        public function upload_photo(){
            $file = $this->request->file('file');
            //生成缩略图
            // $file = 	hinkImage::open($file);
            // $test = $file->thumb(400, 400)->save(ROOT_PATH . 'public' . DS . 'uploads/'.time().'.png');
            // return ['code'=>2,'error'=>$test->getFilename()];
                    if(!empty($file)){
                        // 移动到框架应用根目录/public/uploads/ 目录下
                        $info = $file->validate(['size'=>4145728,'ext'=>'jpg,png,gif,jpeg'])->rule('uniqid')->move(ROOT_PATH . 'public' . DS . 'uploads');
                        $error = $file->getError();
                        // return ['code'=>2,'error'=>$error];
                        //验证文件后缀后大小
                        if($error){
                            return ['code'=>2,'error'=>$error];
                            // dump($error);exit;
                        }
                        if($info){
                            // 成功上传后 获取上传信息
                            // 输出 jpg
                            $info->getExtension();
                            // 输出 20160820/42a79759f284b767dfcb2a0197904287.jpg
                            $info->getSaveName();
                            // 输出 42a79759f284b767dfcb2a0197904287.jpg
                            $photo = $info->getFilename();
                            $imgurl = './public/uploads/'.$photo;//原大图路径,当时我获取的时候费了不少时间
                            $image = 	hinkImage::open($imgurl);
                            $image->thumb(400, 400,1)->save($imgurl);//生成缩略图、删除原图
                        }else{
                            // 上传失败获取错误信息
                            $file->getError();
                        }
                    }else{
                        $photo = '';
                    }
            if($photo !== ''){
                return ['code'=>1,'msg'=>'成功','photo'=>$photo];
            }else{
                return ['code'=>404,'msg'=>'失败'];
            }
        }
  • 相关阅读:
    fedora-coreos 试用podman
    博客主题更新了
    C stdarg.h:可变参数va_list、va_arg等宏的使用及原理简介
    静态、动态链接库的生成及使用
    notfastjson项目介绍
    The ANSI C Programming Language:C语言预处理机制
    语法分析:LL(1)语法分析的实现及扩展的巴科斯范式
    语法分析:LL(1)分析
    计算机系统基础:计算机系统概述
    计算机系统基础:数据的表示和存储
  • 原文地址:https://www.cnblogs.com/huanghanyi/p/7885539.html
Copyright © 2011-2022 走看看