tp5中上传图片方法,并生成相应缩略图的方法
//接收上传文件的name
$file = $this->_req->file("upload_head_image");
//将上传的文件移动到public/uploads/user
$info = $file->validate(["size"=>5242880,"ext"=>"jpg,jpeg,png"])->move(ROOT_PATH . "public" . DS . "uploads" . DS . "user");
if($info){
$pic = new apphomemodelUser();
$pic_url = $pic->thumbImage($file,$info);
$user["portrait"] = "uploads/user/".$pic_url;
//print_r($pic_url);exit();
}
///model中代码如下
/**
* [生成用户头像缩略图,180、50]
* @param [type] $file [获取上传文件$_FILE]
* @param [type] $pic [上传文件的路径]
* @return [type] [返回处理后的文件路径]
*/
public function thumbImage($file,$pic){
$image = hinkImage::open($file);
$getSaveName = str_replace("\","/",$pic->getSaveName());
$portrait_thumbnail_180= "uploads/user/".str_replace($pic->getFilename(),"180_".$pic->getFilename(),$getSaveName);
$image->thumb(180,180, hinkImage::THUMB_CENTER)->save(ROOT_PATH . "public" . DS . $portrait_thumbnail_180,null,100,true);
$portrait_thumbnail_80 = "uploads/user/".str_replace($pic->getFilename(),"80_".$pic->getFilename(),$getSaveName);
$image->thumb(80,80, hinkImage::THUMB_CENTER)->save(ROOT_PATH . "public" . DS . $portrait_thumbnail_80,null,100,true);
$portrait_thumbnail_50 = "uploads/user/".str_replace($pic->getFilename(),"50_".$pic->getFilename(),$getSaveName);
$image->thumb(50,50, hinkImage::THUMB_CENTER)->save(ROOT_PATH . "public" . DS . $portrait_thumbnail_50,null,100,true);
if ($image) {
return $getSaveName;
}
}
- 上一篇: Windows API WinMain函数
- 下一篇: tp5 删除上传的原文件出现权限问题