php单张图片上传,ThinkPHP 5.1 封装处理单张图片上传函数

/**

* 封装处理单张图片上传并存储到数据库

* @Author YEYU2001

* @DateTime 2020-07-25T02:25:51+0800

* @param [文本] $modal [模块:前台还是后台admin等]

* @param [文本] $table [对应的数据表名,同时也是数据模型名]

* @param [文本] $picture [将图片地址存入数据库中的具体字段名]

* @param [数值] $id [具体的数据记录id主键索引序号]

* @param [对象] $file [Form表单上传的File对象]

* 返回的结果有三类:

* 0,表示数据上传失败;

* 1,表示成功上传图片到服务器但是保存到数据库时失败;

* 2,表示图片上传和保存数据库都成功!【这才是我们要的结果】

*/

function CMN_UploadOnePictue($modal,$table,$picture,$id,$file) {

// 如果上传为空则退回

if (empty($file)) { $this->error('请选择上传图片'); }

// 移动到框架应用根目录/uploads/ 目录下

$info = $file->move('../public/uploads');

// 如果上传成功

if (!$info) { return 0; } else {

// 取得图片地址

$picPath = $info->getSaveName();

// 动态变量拼接创建对象

$model_string = '\app\\'.$modal.'\model\\' . $table;

$model = new $model_string; // 实例化Blog模型

// 获取当前文章的记录

$record = $model->where('id', $id)->find();

// 获取原记录的图片真实地址

if (strlen($record[$picture])>3) {

// 获取原记录的图片真实地址

$filename = ROOT_PATH .'uploads\\'. $record[$picture];

// 如果文件已经存在则删除原来的图片

if (file_exists($filename)) { unlink($filename); }

}

//更新博客新图片地址

$band = $model->isUpdate(true)->save([$picture => $picPath], ['id'=>$id]);

//返回更新结果

if ($band) { return 2; } else { return 1; }

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值