php将图片压缩成缩略图(大,中,小)上传到数据库中
2017-10-15 17:03
288 查看
1.思路
先用单文件上传将图片压缩成三个存放在本地,再用多文件上传,上传到数据库中
代码:(这里的配置文件就不写了前面有);
单文件上传压缩到本地:
调用这个方法:
upload(‘file’,’image’,pow(1024,2)*2,[
[500,500],
[100,100],
],[
‘image/png’,’image/jpeg’,’image/gif’,’image/wbmp’
],[‘png’,’jpg’,’jpeg’,’jpe’,’pjpeg’,’gif’,’wbmp’,’bmp’]);
三秒回调到多文件上传 (这里就不写了,和上一个多文件上传代码一样);
html 页面
html
先用单文件上传将图片压缩成三个存放在本地,再用多文件上传,上传到数据库中
代码:(这里的配置文件就不写了前面有);
单文件上传压缩到本地:
//封装一个上传单个文件的方法 /* *@prame string key *@prame string path *@prame String maxSize *@prame array allowMime *@prame array allowFiletype *@prame bool true * *auther wulei */ include 'suolue.php'; function upload($key,$path,$maxSzie,$imageSize,$allowMime,$allowFiletype,$isfileName = true){ //判断错误信息 if($_FILES[$key]['error']){ switch($_FILES[$key]['error']){ case 1: $str = "上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。"; break; case 2: $str = "上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值."; case 3: $str = ",文件只有部分被上传。 "; break; case 4: $str = "没有文件被上传。"; break; case 6: $str = "找不到临时文件夹"; break; case 7: $str = "文件写入失败。"; break; } return [0,$str]; } //判读大小 if($_FILES[$key]['size']>$maxSzie){ return [0,'超过最大文件大小']; } //判断mime类型 if(!in_array($_FILES[$key]['type'],$allowMime)){ return [0,'没有符合的mime类型']; } //判断文件的后缀 $info = pathinfo($_FILES[$key]['name']); var_dump($info); $sub = $info['extension']; if(!in_array($sub,$allowFiletype)){ return [0,'没有符合的文件名后缀']; } //文件名是否为随机 if($isfileName){ $name = uniqid().'.'.$sub; }else{ $name = $_FILES[$key]['name']; } //拼接路径 $path = rtrim($path,'/').'/'.date('Y/m/d').'/'; //判断不存在就创建文件 if(!file_exists($path)){ mkdir($path,0777,true); } //判断文件是否上传成功 if(is_uploaded_file($_FILES[$key]['tmp_name'])){ if(move_uploaded_file($_FILES[$key]['tmp_name'],$path.$name)){ header("refresh:3;url=http://localhost/day24/3/loader.html"); }else{ return [0,'上传失败']; } }else{ return [0,'文件不存在']; } //这里进行缩略图 for($i = 0;$i<count($imageSize);$i++){ suolue($path.$name,$imageSize[$i][0],$imageSize[$i][1],$path); } return[1,$path.$name]; }
调用这个方法:
upload(‘file’,’image’,pow(1024,2)*2,[
[500,500],
[100,100],
],[
‘image/png’,’image/jpeg’,’image/gif’,’image/wbmp’
],[‘png’,’jpg’,’jpeg’,’jpe’,’pjpeg’,’gif’,’wbmp’,’bmp’]);
三秒回调到多文件上传 (这里就不写了,和上一个多文件上传代码一样);
html 页面
<html> <head> <title>文件上传</title> <meta charset = "utf-8"/> </head> <body> <form action = "onUpload.php" method = "post" enctype ="multipart/form-data"> <!--<input type = "text" name = "username"/><br/>--> <input type = "file" name = "file"/><br/> <input type = "submit" value ="提交"/> </form> </body>
html
<html> <head> <title>文件上传</title> <meta charset = "utf-8"/> </head> <body> <form action = "linkUploade.php" method = "post" enctype ="multipart/form-data"> <input type = "file" name = "file[]"/><br/> <input type = "file" name = "file[]"/><br/> <input type = "file" name = "file[]"/><br/> <input type = "submit" value ="提交"/> </form> </body>
相关文章推荐
- 黄聪:php实现上传图片和等比例缩略图压缩图片
- php实现上传图片和等比例缩略图压缩图片
- php实现按指定大小等比缩放生成上传图片缩略图的方法
- PHP部分--图片上传服务器、图片路径存入数据库,并读取
- 安卓中关于图片从网络获取,压缩,上传,下载,缩略图,缓存的一些处理总结(四)
- php上传图片的代码并保存到数据库
- php裁剪上传图片生成缩略图
- PHP上传图片类显示缩略图功能
- php实现图片上传并利用ImageMagick生成缩略图
- php实现图片上传并利用ImageMagick生成缩略图
- 压缩图片上传到数据库
- php结合数据库演示商品多图片上传
- php图片上传并生成缩略图
- 超级好用的一个php上传图片类(随机名,缩略图,加水印)
- php 图片操作类,支持生成缩略图,添加水印,上传缩略图
- php上传图片后 实现压缩图片功能
- php上传图片到指定位置路径保存到数据库的具体实现
- php 上传图片保存到数据库例子
- ASP.NET(C#)图片上传压缩成缩略图的代码
- php实现上传图片保存到数据库的方法