Thinkphp5封装上传图片
2024-09-02 22:38:33
<?php
namespace app\api\controller;
use think\Controller;
use think\Db;
class Plus extends Base{
public function __construct(){
parent::__construct();
$this->logic=new \app\plus\logic\Image();
} //上传图片
public function upload_img(){
$file=$_FILES['myfile'];
if(!$user_id){
$user_id=$_REQUEST[user_id];
}
$data=$this->logic->Upload_img($file,$type,$user_id);
echo json_encode($data);
}
}
public function __construct(){
$this->db= new \app\userweb\model\PublicModel();
// $this->img_url="http://".$_SERVER["HTTP_HOST"]."/lingdu/web/";
$this->img_url=config('DOMAIN')."/";
} public function Upload_img($file,$type,$user_id){
// echo $_SERVER["HTTP_HOST"];exit;
ini_set('display_errors', 'Off');
error_reporting(E_ALL & ~ E_WARNING);
if(!$type){
$type="public";
}
if(!$user_id){
$user_id="0";
}
if ($file==null){
$data['status']="10009";
return $data;
exit;
}
$tmp_type=$file['type'];
$uptypes=array('image/jpg','image/jpeg','image/png','image/pjpeg','image/gif','image/bmp','image/x-png');
if(!in_array($tmp_type,$uptypes)){
$data['status']="10006";
}else {
//var_dump($user_id);
$fliedir="Uploads/";
mkdir($fliedir);
$fliedir=$fliedir."$type/";
mkdir($fliedir);
$fliedir=$fliedir."$user_id/";
mkdir($fliedir);
$cur_time=uniqid()."-".time();
$file_type=str_replace("image/","",$tmp_type);
$file_name=$fliedir.$user_id.'-orogin-'.'-'.$type.'-'.$cur_time.".".$file_type;
move_uploaded_file($file["tmp_name"],$file_name);
$none=file_exists($file_name);
//var_dump($file_name);
if ($none!=null){
$image = new \think\Image();
$data["status"]=10001;
$data["img_orogin"]=$this->img_url.$file_name;
$image->open($file_name);
$img_thumb=$fliedir.$user_id.'-thumb'.'-'.$type.'-'.$cur_time.".".$file_type;
if ($type=="goods"){
// 按照原图的比例生成一个最大为150*150的缩略图并保存为thumb.jpg
$image->thumb(300, 300,\think\Image::IMAGE_THUMB_FIXED)->save($img_thumb);
// $image->thumb(800, 800,\Think\Image::IMAGE_THUMB_FIXED)->save($file_name);
}else {
$image->save($img_thumb);
}
$data["img_thumb"]=$this->img_url.$img_thumb;
}else {
$data["status"]=10012;
}
}
// dump($data);
return $data;
}
最新文章
- MyEclipse对Maven的安装
- 【转】Hibernate级联注解CascadeType参数详解
- JAVA 字符串驻留池
- hoj3152-Dice 等比数列求和取模
- jQuery细节总结
- Python学习(13)函数
- MySQL 全文搜索支持
- C++读入两个参数
- 适配iOS9遇到的一些问题_Scheme白名单_ Bitcode及解决办法
- IF的使用
- ubuntu phone/touch的源码从哪里下载?
- 黑苹果引导工具 Clover 配置详解及Clover Configurator使用
- 理解angularJs中的$on,$broadcast,$emit
- Map接口下的集合和泛型理解
- C#生成Excel保存到服务器端并下载
- 【图的遍历】广度优先遍历(DFS)、深度优先遍历(BFS)及其应用
- flask 基本操作 模板语言 session
- WDCP面板V3新版本安装与体验记录
- nexus使用方法
- DevStore教你如何玩转饥饿营销?
热门文章
- python3 下载 以及 练习1 以及 pycharm 专业版 安装
- springcloud中常用的注解@
- Java多线程与并发——进程与线程
- Hive 基本语法操练(三):分区操作和桶操作
- 【C#】=>;符号的使用
- ZK请求处理
- Unity C# 运用 GetSaveFileName() 导出Excel文件
- JavaSE之Java基础(5)
- webpack实用小功能介绍
- <;script>;, <;script async>;, <;script defer>; 三种标签的区别