php中缩略图的问题

以往在PHP中用缩略图上传,一直没留意到一个问题,就是:即使图片不大,比如不超过500K,但实际上在缩略图时,要占用很大的内存资源的,比如一张1600*1200*24B的图片。不知道为什么,在本地机器上,同样的程序,可以正确生成一张缩略图,但放到服务器上去,也是同样的程序,就只能上传原图,比给出出错信息,比如:Fatal error: Allowed memory size of 8388608 bytes exhausted 。
查了下,原来是php.ini里的memory_limit = 8M 这里设置过小。(但奇怪,本地 PHP.INI和服务器的php.ini也是这样设置,但本地的没问题,真奇怪),于是只能在程序中,用ini_set("memory_limit","20M");来设置,果然能够解决问题。
     再看了下资料,发现有个叫imageMagick的听说比gdlibary更好,GOOGLE了一下,果然发现不少介绍的文章,还有效果介绍:
   ImageMagick是一套稳定的工具集和开发包,可以用来读、写和处理超过89种基本格式的图片文件,包括流行的TIFF, JPEG, GIF, PNG, PDF以及PhotoCD等格式。利用ImageMagick,你可以根据web应用程序的需要动态生成图片, 还可以对一个图片或图片序列进行改变大小、旋转、锐化、减色或增加特效,并将操作的结果以相同格式或其它格式保存。对图片的操作,可以通过命令行进行,也可以用C/C++、Perl、Java、PHP、Python或Ruby编程来完成。同时ImageMagick提供了一个高质量的2D工具包,部分地支持SVG。现在,ImageMagic的主要精力集中在性能、减少bug以及提供稳定的API和ABI上。
  ImageMagick功能强大,却免费的。
ImageMagick 與 GD Library 縮圖比較 ( http://www.neo.com.tw/archives/000293.html
ImageMagick学习( http://hedong.3322.org/archives/000339.html
利用imagemagick來作縮圖http://www.php5.idv.tw/modules.php?mod=books&act=show&shid=912

      最重要的是,听说imagemagick来生成缩略图,不会出现象GD那样的内存问题。那得赶紧去试下了,呵呵

你可能感兴趣的:(编程,应用服务器,PHP,python,Ruby)