Go homepage(回首页) Upload pictures (上传图片) Write articles (发文字帖)
The author:(作者)归海一刀published in(发表于) 2014/2/17 7:31:36 PHP实例:PHP批量生成缩略图_[PHP教程]
到今天我学PHP已经快一年了。不过小弟资质相当有限,一直没有做出什么好东西来。在工作中有时需要把大批量的图片变小,这是一件很简单但很无聊的事情。有一天突发奇想,怎么不用PHP来做一个小程序呢?于是昨天完成了一个批量生成缩略图的小程序。现在发布出来,请各位大哥大姐多多批评! 1.先来分析一下程序的界面。 界面很简单:首先声明本程序仅支持JPG、GIF、PNG三种图片格式。然后分别指出源文件和缩略图保存的文件夹。接下来可以设置JPG的质量和缩量图的大小。最后是显示所消耗的时间和处理的图片数。 2.完整PHP源程序。源程序很简单,不多做解释。解压后直接放于可运行PHP的WWW目录下既可运行。function microtimeFloat(){ list(uSecond, second) = explode(" ", microtime()); return ((float)uSecond + (float)second);}dirFlag = pathinfo(_SERVER['scrīpt_FILENAME'],PATHINFO_DIRNAME);timeStart = microtimeFloat();sourcesDir = 'sources/';thumbsDir = 'thumbs/';jpgQuality = _POST['jpgQuality'];thumbWidth = _POST['thumbWidth'];counter = 0;if(handle = opendir(sourcesDir)) { while(imageName = readdir(handle)) { FileExtName = strtolower(pathinfo(imageName, PATHINFO_EXTENSION)); if((FileExtName == 'gif') or (FileExtName == 'jpg') or (FileExtName == 'jpeg') or (FileExtName == 'png')) { thumbsUrl = thumbsDir.imageName; list(realWidth, realHeight) = getimagesize(sourcesDir.imageName); if(realWidth < thumbWidth){ percent = 1; } else { percent = thumbWidth / realWidth; } newWidth = realWidth * percent; newHeight = realHeight * percent; currentThumb = imagecreatetruecolor(newWidth, newHeight); list(width, height, pictureType, attrib) = getimagesize(sourcesDir.imageName); switch(pictureType) { case "1": source = imagecreatefromgif(sourcesDir.imageName); break; case "2": source = imagecreatefromjpeg(sourcesDir.imageName); break; case "3": source = imagecreatefrompng(sourcesDir.imageName); break; } imagecopyresized(currentThumb, source, 0, 0, 0, 0, newWidth, newHeight, realWidth, realHeight); switch(pictureType) { case "1": imagegif(currentThumb, thumbsUrl); break; case "2": imagejpeg(currentThumb, thumbsUrl, jpgQuality); break; case "3": imagepng(currentThumb, thumbsUrl); break; } counter++; } } closedir(handle); timeEnd = microtimeFloat(); execTime = round(timeEnd - timeStart, 2);}?>批量生成缩略图 批量生成缩略图 本程序仅支持JPG、GIF、PNG三种图片格式。 请将源文件放于: 缩略图将保存于: JPG质量: 请输入JPG质量仅接受整数请不要输入大于100的整数 缩略图大小: 请输入缩略图大小仅接受整数< /td>
来源:csdn
赞