PHP上传自动生成缩略图及水印类含代码介绍
发布时间:2022-07-07 13:51 所属栏目:121 来源:互联网
导读:思路很大一部分是原创的,但也有一些是COPY网络的,写得不够规范,还请各位大大不要见笑,同时给小弟些意见。 开始第一步: 创建文件夹,布局: annex:附件(该目录下存放上传的原图片) | smallimg:存放缩略图片 | mark:存放水印图片 include:存放类文
思路很大一部分是原创的,但也有一些是COPY网络的,写得不够规范,还请各位大大不要见笑,同时给小弟些意见。 开始第一步: 创建文件夹,布局: annex:附件(该目录下存放上传的原图片) |— smallimg:存放缩略图片 |— mark:存放水印图片 include:存放类文件,字体(本程序代码使用的是:04B_08__.TTF) |— upfile.php:集成简单上传,生成缩略图及水印的类文件信息 |— 04B_08__.TTF:字体文件 test.php:测试文件 进入第二步: 代码研究,希望各位能好好看看,小弟也是初学者,同时也希望各位能提出宝贵意见,小弟定会虚心领教的(写得不好不要拿鸡蛋砸偶噢) ------------------------------------------------------------------------------- upfile.php <?php class UPImages { var annexFolder = "annex";//附件存放点,默认为:annex var smallFolder = "smallimg";//缩略图存放路径,注:必须是放在 annexFolder下的子目录,默认为:smallimg var markFolder = "mark";//水印图片存放处 var upFileType = "jpg gif png";//上传的类型,默认为:jpg gif png rar zip var upFileMax = 1024;//上传大小限制,单位是“KB”,默认为:1024KB var fontType;//字体 var maxWidth = 500; //图片最大宽度 var maxHeight = 600; //图片最大高度 function UPImages(annexFolder,smallFolder,includeFolder) { this->annexFolder = annexFolder; this->smallFolder = smallFolder; this->fontType = includeFolder."/04B_08__.TTF"; } function upLoad(inputName) { imageName = time();//设定当前时间为图片名称 if(@empty(_FILES[inputName]["name"])) die(error("没有上传图片信息,请确认")); name = explode(".",_FILES[inputName]["name"]);//将上传前的文件以“.”分开取得文件类型 imgCount = count(name);//获得截取的数量 imgType = name[imgCount-1];//取得文件的类型 if(strpos(this->upFileType,imgType) === false) die(error("上传文件类型仅支持 ".this->upFileType." 不支持 ".imgType)); photo = imageName.".".imgType;//写入数据库的文件名 uploadFile = this->annexFolder."/".photo;//上传后的文件名称 upFileok = move_uploaded_file(_FILES[inputName]["tmp_name"],uploadFile); if(upFileok) { imgSize = _FILES[inputName]["size"]; kSize = round(imgSize/1024); if(kSize > (this->upFileMax*1024)) { @unlink(uploadFile); die(error("上传文件超过 ".this->upFileMax."KB")); } test.php <?php annexFolder = "annex"; smallFolder = "smallimg"; markFolder = "mark"; includeFolder = "include"; require("./".includeFolder."/upfile.php"); img = new UPImages(annexFolder,smallFolder,includeFolder); text = array(www.dwww.cn,"all rights reserved"); if(@_GET["go"]) { photo = img->upLoad("upfile"); img->maxWidth = img->maxHeight = 350;//设置生成水印图像值 img->toFile = true; newSmallImg = img->smallImg(photo); newMark = img->waterMark(photo,text); echo "<img src='".newSmallImg."' border='0'><br><br>"; echo "<img src='".newMark."' border='0'><br><br>"; echo "<a href='./test.php'>继续上传</a>"; } else { ?> <form method="post" action="./test.php?go=go" enctype="multipart/form-data"> <input type="file" name="upfile"><br><br> <input type="submit" value="上传"> </form> <?php } ?>。 (编辑:ASP站长网) |
相关内容
网友评论
推荐文章
热点阅读