文件上传并生成缩略图之一
来源:互联网 发布:数据库分区管理办法 编辑:程序博客网 时间:2024/06/07 02:23
文件上传是php程序中经常用到的,在上传文件之中需要考虑很多问题,例如上传文件的格式,大小,尺寸,预览 ,缩放切割,加水印,批量上传等等问题,
下面这段程序主要实现图像的上传预览功能且实现生成三种大小的图片(原图也保存了),这个程序主要是针对jpg格式的图片上传.
在文件上传的过程之中,需要预览一下生成的图片信息,下面的程序主要实现,图片上传之后生成相应的缩略图,
设计思想,上传图片成功后,新建一张空白图,把相应的图像信息写入空白图之中!
设计到的知识点:gb类库的函数,post的enctype属性
<?php // 图片名称 设计思想都是把程序代码读出来,赋值到新建图片上去 // $pic_name=date("dMYHis"); $pic_name=100; // 生成图片的宽度 // 生成图片的高度 $pic_width=100; $pic_height=100; function ResizeImage($im,$maxwidth,$maxheight,$name,$uploadfile){ //取得当前图片大小 $width = imagesx($im); $height = imagesy($im); //生成缩略图的大小 if(($width > $maxwidth) || ($height > $maxheight)){ $widthratio = $maxwidth/$width; $heightratio = $maxheight/$height; if($widthratio < $heightratio){ $ratio = $widthratio; }else{ $ratio = $heightratio; } $newwidth = $width * $ratio; $newheight = $height * $ratio; if(function_exists("imagecopyresampled")){ $newim = imagecreatetruecolor($newwidth, $newheight); imagecopyresampled($newim, $im, 0, 0, 0, 0, $newwidth, $newheight, $width, $height); }else{ $newim = imagecreate($newwidth, $newheight); imagecopyresized($newim, $im, 0, 0, 0, 0, $newwidth, $newheight, $width, $height); } ImageJpeg ($newim,$uploadfile."/".$name . ".jpg"); // ImageDestroy ($newim); }else{ ImageJpeg ($im,$name . ".jpg"); } } if($_FILES['image']['size']){ //echo $_FILES['image']['type']; $dirnow = getcwd();$uploadfile = $dirnow.'/'.img;//存储路径 if($_FILES['image']['type'] == "image/pjpeg"||$_FILES['image']['type'] == "image/jpg"||$_FILES['image']['type'] == "image/jpeg"){ $im = imagecreatefromjpeg($_FILES['image']['tmp_name']); }elseif($_FILES['image']['type'] == "image/x-png"){ $im = imagecreatefrompng($_FILES['image']['tmp_name']); }elseif($_FILES['image']['type'] == "image/gif"){ $im = imagecreatefromgif($_FILES['image']['tmp_name']); } if($im){ //移动位置 copy($_FILES['image']['tmp_name'], $uploadfile."/".$pic_name.'.jpg'); ResizeImage($im,100,100,$pic_name.'aa',$uploadfile);//生成第1张缩略图100*100ResizeImage($im,60,100,$pic_name.'bb',$uploadfile);//生成第2张缩略图60*100ResizeImage($im,170,100,$pic_name.'cc',$uploadfile);//生成第3张缩略图170*100 ImageDestroy ($im); } } ?> <img src="<? echo img."/".$pic_name.'.jpg'; ?>"><br><br> <form enctype="multipart/form-data" method="post" action="img.php"> <br> <input type="file" name="image" size="50" value="浏览"><p> <input type="submit" value="上传图片"> </form>
if($_FILES['image']['type'] == "image/pjpeg"||$_FILES['image']['type'] == "image/jpg"||$_FILES['image']['type'] == "image/jpeg"){ $im = imagecreatefromjpeg($_FILES['image']['tmp_name']); }elseif($_FILES['image']['type'] == "image/x-png"){ $im = imagecreatefrompng($_FILES['image']['tmp_name']); }elseif($_FILES['image']['type'] == "image/gif"){ $im = imagecreatefromgif($_FILES['image']['tmp_name']); }把这段话换成$im = imagecreatefromjpeg($_FILES['image']['tmp_name']); 也就是把所用的图片格式全部转化成jpg格式,什么样的格式都可以上传
- 文件上传并生成缩略图之一
- C# 上传文件并生成缩略图
- 上传图片并生成缩略图
- 上传图片并生成缩略图
- 上传图片并生成缩略图
- 图片上传并生成缩略图
- 上传图片并生成缩略图
- 上传图片并生成缩略图
- cos上传,并生成缩略图
- 上传图片并生成缩略图
- 上传图片并生成缩略图
- 上传图片并生成缩略图
- 上传图片并生成缩略图
- 上传图片文件,生成缩略图,并写上版权信息
- 上传图片文件,生成缩略图,并写上版权信息
- 上传图片文件,生成缩略图,并写上版权信息
- .net上传图片文件,生成缩略图,并写上版权信息
- asp.net生成缩略图并支持文件上传实现代码
- 全排列递归实现的讨论
- 正则表达式教程
- 开发android主攻四大方向
- 【软件发布】zDrawHelp V1.0(画像素图的辅助工具)
- 转载两个博客地址
- 文件上传并生成缩略图之一
- window.createPopup
- live555 接收客户端连接及rtsp交互---网络连接处理及RTSP连接模块
- ORACLE initialization or shutdown in progress 这个错误其实很容易解决
- 验证数字的正则表达式集
- Ubuntu 10.04 安装AMP(Apache+Mysql+PHP)
- 定义unsigned char型指针读取变量在内存中每个字节的内容
- Django-admin录入中文错误:Incorrect string value
- linux基本命令学习cp命令