zoukankan      html  css  js  c++  java
  • ThinkPHP 5 文件上传及指定宽高生成缩略图公共方法

    
    
    /**
     * 单文件上传
     * name:表单上传文件的名字
     * ext: 文件允许的后缀,字符串形式
     * path:文件保存目录
     */
    public function file_upload($name,$ext,$path){
     $dir_path=ROOT_PATH.'/public/uploads/'.$path;
     if (!is_dir($dir_path))mkdir($dir_path, 0777);// 使用最大权限0777创建文件
     $file = request()->file($name);
     $info = $file->validate(['size'=>1572864,'ext'=>$ext])->move($dir_path,true,false);
     if($info){
     // 成功上传后 获取上传信息
     $file_path = $info->getSaveName();
     $data['file_path'] = '/uploads/'.$path.'/'.$info->getSaveName();
     }else{
     // 上传失败获取错误信息
     $data['file_path'] =$file->getError();
     }
     return $data;
     }
    
     /**
     * 图片缩率图处理
     * file_path:文件路径
     * width :目标宽度
     * height:目标高
     * path:文件保存目录 : 需事先手动创建
     */
     public function file_upload_thumb($file_path,$width,$height,$path){
     $fiel_url = ROOT_PATH."/public".$file_path;
     $image = 	hinkImage::open($fiel_url);
     $save_url = '/uploads/'.$path."/".sha1($fiel_url)."_".$width."_".$height.".".$image->type();
     $save_name = ROOT_PATH."/public".$save_url;
     $image->thumb($width, $height)->save($save_name);
     return $save_url;
     }
    /*
     * 图片上传接口
     */
     public  function img_upload(){
    
     if(!empty($_FILES["file_img"]["name"])){
     $file_mes = $this->file_upload('file_img','jpg,png,gif,jpeg','gift');
     $file_path  = $file_mes['file_path'];
     switch ($upload_type) {
     case '1':
     $return_data['prize_img'] = $file_path; 
     $return_data['prize_img_view'] = Config::get("config.host_url").$file_path; 
     $return_data['prize_img_400'] = $this->file_upload_thumb($file_path,400,400,'gift_thumb');
     $return_data['prize_img_200'] = $this->file_upload_thumb($file_path,200,200,'gift_thumb');
     $return_data['prize_img_150'] = $this->file_upload_thumb($file_path,150,150,'gift_thumb');
     break;
     default:
     $return_data['img_path'] ='';  
     break;
     }
     return json(['code' => '1', 'message' => '上传成功','result'=>$return_data]);
     }else{
     return json(['code' => '2', 'message' => '图片不能为空!','result'=>null]);
     }
    
     }
  • 相关阅读:
    windows 服务中托管asp.net core
    asp.net core自定义端口
    asp.net core 2.1 部署IIS(win10/win7)
    Centos7 安装Tomcat并运行程序
    centos7 安装java运行环境
    linux(centos7) 常用命令和快捷键 持续验证更新中...
    CentOS7 设置yum源
    dotnet core 入门命令
    二项式系数学习笔记
    [容斥原理][莫比乌斯反演] Codeforces 803F Coprime Subsequences
  • 原文地址:https://www.cnblogs.com/ws1992/p/8117684.html
Copyright © 2011-2022 走看看