/**
* 封装处理单张图片上传并存储到数据库
* @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; }
}
}
ThinkPHP 5.1 封装处理单张图片上传函数
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...