简单实用的缩放图片工具 SimpleImage。
使用方法:
设定宽高,不等比例缩放
include('SimpleImage.php');
$image = new SimpleImage();
$image->load('picture.jpg');
$image->resize(250,400);
$image->save('picture2.jpg');?>
设定宽度,等比例缩放
include('SimpleImage.php');
$image = new SimpleImage();
$image->load('picture.jpg');
$image->resizeToWidth(250);
$image->save('picture2.jpg');?>
设定高度,等比例缩放
include('SimpleImage.php');
$image = new SimpleImage();
$image->load('picture.jpg');
$image->resizeToHeight(500);
$image->save('picture2.jpg');
$image->resizeToHeight(200);
$image->save('picture3.jpg');?>
按比例,缩放至50%
include('SimpleImage.php');
$image = new SimpleImage();
$image->load('picture.jpg');
$image->scale(50);
$image->save('picture2.jpg');?>
缩放后直接输出到屏幕
header('Content-Type: image/jpeg');
include('SimpleImage.php');
$image = new SimpleImage();
$image->load('picture.jpg');
$image->resizeToWidth(150);
$image->output();
?>
有关SimpleImage.php的源码,访问http://www.white-hat-web-design.co.uk/blog/resizing-images-with-php/下载。
您可能感兴趣的文章:
php等比例缩放图片的示例参考
php批量缩放图片的代码举例
有关php的iconv函数,你知道多少呢?来看今天的内容吧。
在linux系统中安装PHP的module时,需要重新编译PHP,Windows下安装模板,只需将php.ini里的配置打开相应的dll就可,例如,需要加入gb库的支持,需要如下设置:
(注意,建议写全地址,并且后面加上/,很多时候是因为这里设置不对,才导致无法加载其它模块的dll的)
再打开:
但如果是安装iconv.dll,按上面方法,打开php_iconv.dll后,还是无法开启iconv模块,需要如下配置:
a.上iconv的官方下载站点
http://ftp.gnu.org/pub/gnu/libiconv/
下面Windows版的iconv文件:libiconv-1.9.1.bin.woe32.zip
将文件解压,将bin/下面的charset.dll,iconv.dll,iconv.exe拷贝到c:/windows/ (或其它的系统PATH中)
(这步是必须的,php_iconv.dll也是调用GNU的iconv库的,所以,先要安装GNU的iconv库)
b.开启php.ini里面的php_iconv.dll
c.重启Apache,再在phpinfo();检测是否开启iconv。
在最近一个程序中,需要用到iconv函数把抓取来过的utf-8编码的页面转成gb2312, 发现只有用iconv函数把抓取过来的数据一转码数据就会无缘无故的少一些。
这是iconv函数的一个bug。iconv在转换字符"—"到gb2312时会出错。
解决:
在需要转成的编码后加 "//IGNORE" 也就是iconv函数第二个参数后.如下:
ignore的意思是忽略转换时的错误,如果没有ignore参数,所有该字符后面的字符串都无法被保存。
这个iconv()这个函数,在php5中是内置的。
来看一个完整的例子,如下:
<?php
//iconv用法举例
//by www.
echo $str= '你好,这里是卖咖啡!';
echo '<br />';
echo iconv('GB2312', 'UTF-8', $str); //将字符串的编码从GB2312转到UTF-8
echo '<br />';
echo iconv_substr($str, 1, 1, 'UTF-8'); //按字符个数截取而非字节
print_r(iconv_get_encoding()); //得到当前页面编码信息
echo iconv_strlen($str, 'UTF-8'); //得到设定编码的字符串长度
//也可以这样
$content = iconv("UTF-8","gbk//TRANSLIT",$content);
?>
例1,
在head.htm中加入,即在默认模版中添加:“$stime=microtime(true); //获取程序开始执行的时间”。
代码如下所示:
<!--<?php
$stime=microtime(true); //程序开始执行的时间
$GuideFid[$fid]=str_replace()("<a href='/blog_article/$webdb[www_url]/index.html' >>首页</a>","",$GuideFid[$fid]);
$fupId=intval($fupId);
$topMenu[$fupId]='ck';
print <<<EOT
-->
//这里是网页
//再在foot.htm修改,如下所示:
<!--
EOT;
$etime=microtime(true);//获取程序执行结束的时间
$total=$etime-$stime; //计算差值
echo "<br />[页面执行时间:{$total} ]秒";
?>
例2,
$pagestartime=microtime();
?>
<!--网页内容 start-->
网页内容
...
...
<!--网页内容 end-->
<?
$pageendtime = microtime();
$starttime = explode()(" ",$pagestartime);
$endtime = explode(" ",$pageendtime);
$totaltime = $endtime[0]-$starttime[0]+$endtime[1]-$starttime[1];
$timecost = sprintf()("%s",$totaltime);
echo "页面运行时间: $timecost 秒";
?>
例3,
计算页面执行时间
在php网页的开头加入:
$time_start = getmicrotime();
function getmicrotime()
{
list($usec, $sec) = explode(" ",microtime());
return ((float)$usec + (float)$sec);
}
?>
然后,在页面结尾加入:
$time_end = getmicrotime();
printf ("[页面执行时间: %.2f毫秒]\n\n",($time_end - $time_start)*1000);
?>