如何让PHP同时支持GIF、png、JPEG

如何让PHP同时支持GIF、png、JPEG

在RedHat6.2按php的manual编译安装,发现只能处理GIF图像,不能处理JPEG图像。后来知道PHP处理图像,使用了GD库,而GD库开始时是支持GIF的,但由于GIF使用了有版权争议的LZW算法,会引起法律问题,于是从GD-1.6开始,GD库不再支持GIF,改为支持更好的,无版权争议的PNG。而我现在希望同时支持GIF,PNG和JPEG。

1、 Jpeg6b的安装
RedHat6.2中已经有了RPM包,我们也就不需要去费劲编译了。
  放入安装盘
  mount /mnt/cdrom
  cd /mnt/cdrom/RedHat/RPMS
  rpm -ivh libjpeg*

安装成功,用rpm -ql libjpeg-6b-10 查看,发现libjpeg.so.62.0.0被拷到/usr/lib目录下。记住此目录,等会儿配php时要用。

2、 GD-1.8.3的安装
获取GD源码的地址为:
http://www.boutell.com/gd/
你当然可以自己编译,但它不支持jpeg,要打补丁。
获取补丁源码的地址为:
http://www.webofsin.com/gd-1.8.3-gif.patch
接下来………………麻烦死了……劝你还是不要自己编译了!!

有现成的东西为何不用呢?已经有人打好补丁编译好了,做成RPM。
可以在:
http://rpms.arvin.dk/rh7-backports/gd/
http://rpms.arvin.dk/gd-with_gif/
得到。世上竟然有这么好的人?;-<
真令人感动!!!

下载了几个gd-with_gif*.rpm后直接 rpm -ivh gd-with_gif* 安装。
用 rpm -ql gd-with_gif-1.8.3-7 查看
发现 libgd.so.1.8.3 放到了 /usr/gd-with_gif/lib 下
记住此目录,配php时也要用。

3、 PHP的安装和配置
鉴于曾听说php4.0不支持jpeg(不知记错没),我建议还是用php的最新版。
下面的,大家应该熟悉得不能再熟悉了吧?
于是我把php的manual抄下来:
---------------------------------
1. gunzip apache_1.3.x.tar.gz
2. tar xvf apache_1.3.x.tar
3. gunzip php-x.x.x.tar.gz
4. tar xvf php-x.x.x.tar
5. cd apache_1.3.x
6. ./configure --PRefix=/www
7. cd ../php-x.x.x
8. 这里是关键!!!
  ./configure --with-MySQL --with-apache=../apache_1.3.x --enable-track-vars --with-jpeg-dir=/usr/lib --with-gd=/usr/gd-with_gif/lib
  当然你也可以加上你自己的选项,此不赘述。
9. make
10. make install
11. cd ../apache_1.3.x
12. for PHP 4: ./configure --activate-module=src/modules/php4/libphp4.a
13. make
14. make install

Instead of this step you may prefer to simply copy the httpd binary
overtop of your existing binary. Make sure you shut down your
server first though.

15. cd ../php-x.x.x
16. for PHP 4: cp php.ini-dist /usr/local/lib/php.ini

You can edit your .ini file to set PHP options. If
you prefer this file in another location, use
--with-config-file-path=/path in step 8.

17. Edit your httpd.conf or srm.conf file and add:
   For PHP 4:  AddType application/x-httpd-php .php

You can choose any extension you wish here. .php is simply the one
we suggest. You can even include .html .

18. Use your normal procedure for starting the Apache server. (You must
  stop and restart the server, not just cause the server to reload by
  use a HUP or USR1 signal.)
---------------------------------------
   
终于成功了,你可以启动apache用phpinfo()试一试,发现gd那里:
----------------------
    gd
GD Support enabled
GD Version 1.6.2 or higher
GIF Support enabled
PNG Support enabled
JPG Support enabled
WBMP Support enabled
----------------------

^_^哈哈哈哈哈哈哈哈哈^_^
你现在可以用到所有的php图形函数了:
ImageCreateFromGIF() &mdash; Create a new image from file or URL
ImageCreateFromJPEG() — Create a new image from file or URL
ImageCreateFromPNG() — Create a new image from file or URL
……
绝对没问题!!!!

时间: 2024-09-09 02:05:47

如何让PHP同时支持GIF、png、JPEG的相关文章

PHP加水印代码 支持文字和图片水印

  PHP加图片水印.文字水印类代码,PHP加水印类,支持文字图片水印的透明度设置.水印图片背景透明.自己写的一个类,因为自己开发的一套CMS中要用到,网上的总感觉用着不顺手,希望大家也喜欢这个类,后附有类使用方法. 001 002class WaterMask{ 003 public $waterType = 1; //水印类型:0为文字水印.1为图片水印 004 public $pos = 0; //水印位置 005 public $transparent = 45; //水印透明度 006

配置PHP使之能同时支持GIF和JPEG_php基础

问题:安装蓝点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.10alph

PHP水印类,支持添加图片、文字、填充颜色区域的实现

*自己整理的一个水印类* 支持添加图片.文字.填充颜色区域 <?php /** * 图片加水印类,支持文字水印.透明度设置.自定义水印位置等. * 使用示例: * $obj = new WaterMask($imgFileName); //实例化对象 * $obj->$waterType = 1; //类型:0为文字水印.1为图片水印 * $obj->$transparent = 45; //水印透明度 * $obj->$waterStr = 'icp.niufee.com'; /

win8专业照片处理应用选辑

  专业级设置:好照片 好照片是一款专为Win8用户准备的专业照片处理应用,结合Win8系统触屏和鼠标操作兼备的体验需求,各项专业级的编辑工具和参数调整让我们能够制作出美轮美奂的照片.在支持基础编辑的同时,好照片还提供了23中边框和超过60种特效. 好照片 好照片 好照片 软件功能: 提供亮度.对比度.饱和度.色温.色调.模糊/锐化等基础编辑功能; 众多知名摄影师和美术插画师精心挑选的23种好照片边框; 支持虚化模式,并提供9种大光圈虚化效果选择; 提供共计5大类甄选多年的经典特效分类,包括:经

PHP中实现大图自动缩成小图(及GD库的安装)

PHP中实现大图自动缩成小图(及GD库的安装)UB 2001.10.11 我觉得网络编程与普通编程最大的区别就是,网络编程除了具备普通编程的特性外,还要花很大精力考虑速度的问题.网站上需要很多图片,现在有很多给用户存放照片,图片的"像册"程序,可以让用户自己上传图片,然后自动缩成小图,可以让你在一个页面看到很多小图,然后点击小图看大图.注意:在网页中指定长宽显示图片,只能让图片以小尺寸显示,但是大小(容量)不变(可以看看属性),速度自然很慢.真正的缩图是把大图的大小(容量)变小,就是重

Fireworks4.0的新特性

Macromedia通用用户界面(Macromedia user interface) 统一.熟悉的用户界面能帮助设计师轻松的工作在Flash,Dreamweaver,UltraDev和Fireworks之间,不论你使用哪一款Macromedia的产品,你会看到一样的图标.工具.工具条以及其他任何可能的对象. Macromedia通用用户界面可以让你自定义快捷方式,或者将你在其他软件中使用的快捷方式带进来. 每个文件窗口最下面都有一条迷你启动条,可以让你快速启动常用的操作面版. 与Dreamwe

如何在 Java 应用程序中读取 8 位和 24 位 Microsoft Windows 位图(转)

window|程序 如何在 Java 应用程序中读取 8 位和 24 位 Microsoft Windows 位图在 Java 应用程序中加载位图文件的逐步指南 作者:Jeff West 和 John D. Mitchell 摘要目前,标准的 getImage() 方法仅支持 GIF 和 JPEG 图像.尽管存在用于读取 PNG(可移植网络图形)格式的 Java 例程,但我们还没听说过有用于读取 Microsoft Windows 位图图像的阅读程序.Jeff West 撰写的这篇技巧提供了加载

Linux环境下如何使用PHP处理图像

利用PHP创建图像是相当容易的一件事情.只要安装一些第三方的库文件并具有一定的几何知识,就可以利用PHP来创建和处理图像了.目前PHP使用GD库处理图像.在PHP中一些图像函数是可以直接使用的,但是大多数函数需要安装GD函数库.GD库提供一系列函数进行画图.使用颜色.处理预存的图像和填充操作.GD库是Thomas Boutell设计的ANSI C语言编写,同时支持在perl.Tcl语言中作图.由于GD是一个可以被建立成共享或静态的库,所以在PHP使用GD库进行图像操作是非常容易的.GD图像库工作

ASP中处理数据库图像的方法

数据|数据库 ---- Active Server Pages (ASP) 是服务器端的脚本编写环境,您可用它来创建动态 Web 页或生成功能强大的 Web 应用程序,ASP 使这些工作变得十分简单.ASP 页是包括 HTML 标记.文本和脚本命令的文件.ASP 页可调用 ActiveX 组件来执行任务,例如连接到数据库或进行商务计算.通过 ASP,可为您的 Web 页添加交互内容或用 HTML 页构成整个 Web 应用程序,这些应用程序使用HTML页作为您的客户的界面. ---- 在我们使用A

JMF介绍之媒体框架(一)

JMF(Java Media Framework)是Sun 公司提出的Java 媒体架构.它是对应Java 2平台标准版(J2SE)的一种可选用的应用编程接口(API).JMF的源代码通过SCSL(Sun 社团源代码许可模式)发布这一强大的媒体工具包,可以在任何版本(1.1.x 及以上版本)的Java平台上的运行. JMF2.1.1技术提供了先进的媒体处理能力,从而扩展了Java 平台的功能.JMF所提供的多媒体功能如下: l可以在Java Applet 和应用程序中播放各种媒体文件.它提供了对