TP5的图片上传

public function upload(){
// 获取表单上传文件 例如上传了001.jpg
$file = request()->file('image');
$picture=model("Picture");
$turepath = $file->getRealPath();
$md5path=md5_file($turepath);
$shalpath=sha1_file($turepath);
$map["md5"]=$md5path;
$map["sha1"]=$shalpath;
/*判断是否有相同图片上传过了*/
$image=$picture->find($map);
if($image){
$this->output_data(200,'success',array('img'=>'http://'.$_SERVER['HTTP_HOST'].$image["path"],"id"=>$image["id"]));
}
//判断文件类型
if(!count($file)){
$this->output_data(-1,'图片不能为空!');
}
$type=$file->checkImg();
if(!$type){
$this->output_data(-1,'图片类型不正确!');
}

// 移动到框架应用根目录/public/uploads/ 目录下
$info = $file->move(ROOT_PATH . 'public' . DS . 'uploads');
if($info){
$path = $info->getSaveName();
$data=array();
$img_path='http://'.$_SERVER['HTTP_HOST'].'/uploads/'.$path;
$type=$info->getExtension();
$type="image/".$type;
$data["path"]='/uploads/'.$path;
$data["type"]=$type;
$data["status"]=1;
$data["md5"]=$md5path;
$data["sha1"]=$shalpath;

$result=$picture->insert($data);
$this->output_data(200,'success',array('img'=>$img_path,"id"=>$result));
/*echo $path;
echo "<br>";
// 输出 42a79759f284b767dfcb2a0197904287.jpg
echo $info->getFilename();
echo "<br>";
输出 42a79759f284b767dfcb2a0197904287.jpg*/
echo $info->getPathName();
}else{
// 上传失败获取错误信息
$this->output_data(-1,'提交失败!');
}
}
posted @   小小强学习网  阅读(7022)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示