-
php批量生成缩略图代码
缩放图片的php代码,其中变量classes是一个数组,可以选择任意多个ini文件中指定的设置,php批量生成缩略图代码如下:
- <?php
- $oimg = "test.jpg";//original image name
- $classes = array('translation','autoheight','autowidth','stretch');//give classes for the new creating images' size which are defined in the specified ini file
- $suffix = 'jpg';//the new image's suffix
- $inifile = 'image.ini.php';
- $size = getimagesize($oimg);
- $x = $size[0]/$size[1];
- $name = explode('.',$oimg);
- if(!file_exists($inifile)) die('ini file does not exist!');
- $cn = parse_ini_file($inifile,true);//parse the class style image size from ini file
- foreach($classes as $class){
- foreach($cn as $k=>$v){
- if($k==$class){
- if($v['width'] && $v['height']){
- $thumbwidth = $v['width'];
- $thumbheight = $v['height'];
- }elseif($v['width']){
- $thumbwidth = $v['width'];
- $thumbheight = round($thumbwidth/$x);
- }elseif($v['height']){
- $thumbheight = $v['height'];
- $thumbwidth = round($thumbheight*$x);
- }else{
- $thumbwidth = $size[0];
- $thumbheight = $size[1];
- }
- break;
- }
- }
- if(!isset($thumbheight) && !isset($thumbwidth)) die('ini file settings error!');
- $nimg = $name[0].'_'.$class.'.'.$suffix;//new image file name
- $source = imagecreatefromjpeg($oimg);
- $thumb = imagecreatetruecolor($thumbwidth, $thumbheight);
- imagecopyresampled($thumb,$source,0,0,0,0,$thumbwidth,$thumbheight,$size[0],$size[1]);
- if($suffix=='jpg') $method = 'imagejpeg';
- else $method='image'.$suffix;
- $method($thumb, $nimg);
- imagedestroy($thumb);//phpfensi.com
- imagedestroy($source);
- }
- ?>
这是一个ini配置文件,上面的代码就要读取这个文件中的图片位置,可以多个.
<?php /*
;translate the image format using the original image size
[translation]
width=0
height=0
;stretch the image to the specified size
[stretch]
width=800
height=600
;zoom the image to the specified width with height auto size
[autoheight]
width=740
height=0
;zoom the image to the specified height with width auto size
[autowidth]
width=0
height=380
*/ ?>
注意:ini文件使用php解释时为注释文件,什么也没有输出,这是为了安全起见而故意为之,而;则是ini文件的注释.
原文链接:http://www.phpfensi.com/php/20140819/4440.html
栏目列表
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比
一款纯 JS 实现的轻量化图片编辑器
关于开发 VS Code 插件遇到的 workbench.scm.
前端设计模式——观察者模式
前端设计模式——中介者模式
创建型-原型模式