更多
黑客联盟 黑客软件
学生黑客联盟
高级搜索
您现在的位置:学生黑客联盟 > WEB开发 > php > 浏览信息
PHP同时支持GIF和JPEG
时间:2012-01-30 09:57 来源:www.stuhack.com 作者: 点击:
安装蓝点Linux 2.0后,进行PHP编程,发现只能处理GIF图像,不能处理JPEG图像。后来知道PHP处理图像,使用了GD库,而GD库开始时是支持GIF的,但由于GIF使用了有版权争议的LZW算法,会引起法律问题,于是从GD-1.6开始,GD库不再支持GIF,改为支持更好的,无版权

    安装蓝点Linux 2.0后,进行PHP编程,发现只能处理GIF图像,不能处理JPEG图像。后来知道PHP处理图像,使用了GD库,而GD库开始时是支持GIF的,但由于GIF使用了有版权争议的LZW算法,会引起法律问题,于是从GD-1.6开始,GD库不再支持GIF,改为支持更好的,无版权争议的PNG.而我现在希望同时支持GIF,PNG和JPEG.经过尝试,我成功地做到了这一点。下面介绍具体做法。我的配置为:蓝点Linux 2.0,Kernel-2.2.16,MySQL-3.23.10alpha,Apache-1.3.12,PHP4.0.1pl2,gd-1.8.3,Jpeg6b.
   
    我将按照由底向上的顺序介绍,即Jpeg->GD->PHP->Apache.
   
    0、 当前状态查看
   
    安装蓝点Linux 2.0后,Kernel,MySQL,Apache未做任何改变,看看当前状态如何。
   
    创建一PHP文件,名为info.php,放于Apahce的文档目录下(/etc/httpd/html),其内容如下:
   
    <? phpinfo(); ?>
   
    文件就只有1行。用浏览器打开该文件URL(我的hostname为zhangzh):
   
    如果Apache/PHP正常运行的话,页面中将会列出PHP版本,Apache版本,以及其他各种有用的信息。我关心的是GD库部分,看看它是否支持GIF、JPEG,结果发现支持GIF而不支持JPEG.
   
    1、 Jpeg6b的安装和配置
   
    Jpeg的主要文件有jpeglib.h, libjpeg.a, libjpeg.so等。首先检查系统中安装了没有,到/usr/include目录下看有无jpeglib.h,到/usr/lib目录下看有无libjpeg.a和libjpeg.so.我的系统中没有,因而要安装。
   
    获取Jpeg源码的地址
   
    取得的文件为jpegsrc.v6b.tar.gz,放于/usr/src目录下。
   
    进入/usr/src目录中,开始安装过程。
   
    进入/usr/src:
   
    cd /usr/src
   
    解开压缩文件:
   
    tar xzvf jpegsrc.v6b.tar.gz
   
    命令完成后多了一个子目录jpeg-6b,Jpeg的源码文件就在其中。
   
    进入该子目录:
   
    cd jpeg-6b
   
    该目录中的install.doc文件详细介绍了如何安装Jpeg,照章行事即可。
   
    配置生成Makefile文件:
   
    ./configure
   
    命令完成后该目录下多了个Makefile文件。Makefile文件是许多软件编译、安装的配置和过程控制文件,十分重要,应该学会看懂它的内容。
   
    开始编译:
   
    make
   
    命令完成后该目录下多了许多文件,其中重要的是libjpeg.a和libjpeg.so.
   
    安装:
   
    make install
   
    命令完成后,jpeglib.h被拷到/usr/local/include目录下,libjpeg.a和libjpeg.so被拷到/usr/local/lib目录下。
   
    2、 GD-1.8.3的安装和配置
   
    GD的主要文件有gd.h, libgd.a等。
   
    获取GD源码的地址
   
    取得的文件为gd-1.8.3.tar.gz,放于/usr/src目录下。
   
    已知道该版本的GD不支持GIF,但想来象我一样希望GD同时支持GIF和JPEG的人不少,于是有人做了个补丁,把对GIF的支持加回去了。看起来这是个英国人吧,他的Email地址为adam@elysium.ltd.uk.
   
    获取补丁源码的地址
   
    取得的文件为gd-1.8.3-gif.patch,放于/usr/src目录下。
   
    进入/usr/src:
   
    cd /usr/src
   
    解开压缩文件:
   
    tar xzvf gd-1.8.3.tar.gz
   
    命令完成后多了一个子目录gd-1.8.3,GD的源码文件就在其中。
   
    给源码打补丁:
   
    patch -p0 命令完成后gd-1.8.3子目录下多了个gd_gif.c文件,而文件gd.h和Makefile也被作了相应修改。
   
    进入该子目录:
   
    cd gd-1.8.3
   
    缺省情况下,GD库编译时并不加入JPEG支持,得修改Makefile文件。
   
    修改Makefile文件,使得:
   
    CFLAGS=-O -DHAVE_XPM -DHAVE_JPEG -DHAVE_LIBTTF
   
    LIBS=-lm -lgd -lpng -lz -ljpeg -lttf -lXpm -lX11
   
    此后,编译并安装:
   
    make
   
    make install
   
    命令完成后,gd.h被拷到/usr/local/include目录下,libgd.a被拷到/usr/local/lib目录下。
   
    3、 PHP-4.0.1pl2的安装和配置
   
    PHP的主要文件有libphp4.a, libphp4.so等。
   
    获取PHP源码的地址
   
    取得的文件为php-4.0.1pl2.tar.gz,放于/usr/src目录下。
   
    进入/usr/src目录并解压文件:
   
    cd /usr/src
   
    tar xzvf php-4.0.1pl2.tar.gz
   
    命令完成后多了一个子目录php-4.0.1pl2,PHP的源码文件就在其中。
   
    进入该子目录:
   
    cd php-4.0.1pl2
   
    该目录中的INSTALL文件详细介绍了如何安装PHP,照章行事即可。

[1] [2] 下一页




本文标题:PHP同时支持GIF和JPEG

本文地址:http://www.stuhack.com/web/php/74471.html

免责声明:本文仅代表作者个人观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。




教你如何2分钟内

经过本人的不懈努力,小六原装bcm4311无线[查看详细]

胡莱战国游戏武将

胡莱战国公测也已经十多天了,发现还没有玩[查看详细]

地下城DNF公平PK

不久前我们为大家报道了DNF国服确认将在3月[查看详细]

洛克王国响铃猫技

洛克王国响铃猫 编号:850 主属性:武系 获[查看详细]