<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

        配置PHP使之能同時支持GIF和JPEG

        來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-27 19:01:45
        文檔

        配置PHP使之能同時支持GIF和JPEG

        配置PHP使之能同時支持GIF和JPEG:問題:安裝藍(lán)點Linux 2.0后,進(jìn)行PHP編程,發(fā)現(xiàn)只能處理GIF圖像,不能處理JPEG圖像。后來知道PHP處理圖像,使用了GD庫,而GD庫開始時是支持GIF的,但由于GIF使用了有版權(quán)爭議的LZW算法,會引起法律問題,于是從GD-1.6開始,GD庫不再支持GIF,改為支持更
        推薦度:
        導(dǎo)讀配置PHP使之能同時支持GIF和JPEG:問題:安裝藍(lán)點Linux 2.0后,進(jìn)行PHP編程,發(fā)現(xiàn)只能處理GIF圖像,不能處理JPEG圖像。后來知道PHP處理圖像,使用了GD庫,而GD庫開始時是支持GIF的,但由于GIF使用了有版權(quán)爭議的LZW算法,會引起法律問題,于是從GD-1.6開始,GD庫不再支持GIF,改為支持更

        問題:安裝藍(lán)點Linux 2.0后,進(jìn)行PHP編程,發(fā)現(xiàn)只能處理GIF圖像,不能處理JPEG圖像。后來知道PHP處理圖像,使用了GD庫,而GD庫開始時是支持GIF的,但由于GIF使用了有版權(quán)爭議的LZW算法,會引起法律問題,于是從GD-1.6開始,GD庫不再支持GIF,改為支持更好的,無版權(quán)爭議的PNG。而我現(xiàn)在希望同時支持GIF,PNG和JPEG。經(jīng)過嘗試,我成功地做到了這一點。下面介紹具體做法。我的配置為:藍(lán)點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、 當(dāng)前狀態(tài)查看
        安裝藍(lán)點Linux 2.0后,Kernel,MySQL,Apache未做任何改變,看看當(dāng)前狀態(tài)如何。
        創(chuàng)建一PHP文件,名為info.php,放于Apahce的文檔目錄下(/etc/httpd/html),其內(nèi)容如下:
        <? phpinfo(); ?>
        文件就只有1行。用瀏覽器打開該文件URL(我的hostname為zhangzh):
        http://zhangzh/info.php
        如果Apache/PHP正常運(yùn)行的話,頁面中將會列出PHP版本,Apache版本,以及其他各種有用的信息。我關(guān)心的是GD庫部分,看看它是否支持GIF、JPEG,結(jié)果發(fā)現(xiàn)支持GIF而不支持JPEG。

        1、 Jpeg6b的安裝和配置
        Jpeg的主要文件有jpeglib.h, libjpeg.a, libjpeg.so等。首先檢查系統(tǒng)中安裝了沒有,到/usr/include目錄下看有無jpeglib.h,到/usr/lib目錄下看有無libjpeg.a和libjpeg.so。我的系統(tǒng)中沒有,因而要安裝。
        獲取Jpeg源碼的地址為:
        ftp://ftp.uu.net/graphics/jpeg/
        取得的文件為jpegsrc.v6b.tar.gz,放于/usr/src目錄下。
        進(jìn)入/usr/src目錄中,開始安裝過程。
        進(jìn)入/usr/src:
        cd /usr/src
        解開壓縮文件:
        tar xzvf jpegsrc.v6b.tar.gz
        命令完成后多了一個子目錄jpeg-6b,Jpeg的源碼文件就在其中。
        進(jìn)入該子目錄:
        cd jpeg-6b
        該目錄中的install.doc文件詳細(xì)介紹了如何安裝Jpeg,照章行事即可。
        配置生成Makefile文件:
        ./configure
        命令完成后該目錄下多了個Makefile文件。Makefile文件是許多軟件編譯、安裝的配置和過程控制文件,十分重要,應(yīng)該學(xué)會看懂它的內(nèi)容。
        開始編譯:
        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的主要文件有g(shù)d.h, libgd.a等。
        獲取GD源碼的地址為:
        http://www.boutell.com/gd/
        取得的文件為gd-1.8.3.tar.gz,放于/usr/src目錄下。
        已知道該版本的GD不支持GIF,但想來象我一樣希望GD同時支持GIF和JPEG的人不少,于是有人做了個補(bǔ)丁,把對GIF的支持加回去了。看起來這是個英國人吧,他的Email地址為adam@elysium.ltd.uk。
        獲取補(bǔ)丁源碼的地址為:
        http://www.webofsin.com/gd-1.8.3-gif.patch
        取得的文件為gd-1.8.3-gif.patch,放于/usr/src目錄下。
        進(jìn)入/usr/src:
        cd /usr/src
        解開壓縮文件:
        tar xzvf gd-1.8.3.tar.gz
        命令完成后多了一個子目錄gd-1.8.3,GD的源碼文件就在其中。
        給源碼打補(bǔ)?。?
        patch -p0 命令完成后gd-1.8.3子目錄下多了個gd_gif.c文件,而文件gd.h和Makefile也被作了相應(yīng)修改。
        進(jìn)入該子目錄:
        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的主要文件有l(wèi)ibphp4.a, libphp4.so等。
        獲取PHP源碼的地址為:
        http://php.com
        取得的文件為php-4.0.1pl2.tar.gz,放于/usr/src目錄下。
        進(jìn)入/usr/src目錄并解壓文件:
        cd /usr/src
        tar xzvf php-4.0.1pl2.tar.gz
        命令完成后多了一個子目錄php-4.0.1pl2,PHP的源碼文件就在其中。
        進(jìn)入該子目錄:
        cd php-4.0.1pl2
        該目錄中的INSTALL文件詳細(xì)介紹了如何安裝PHP,照章行事即可。
        配置生成Makefile文件:
        ./configure '--with-apxs=/usr/sbin/apxs' '--with-mysql' 
        '--with-config-file-path=/etc/httpd' '--enable-safe-mode' 
        '--with-system-regex' '--disable-debug' 
        '--with-zlib' '--enable-magic-quotes' '--enable-track-vars' 
        '--with-jpeg-dir=/usr/local' '--with-gd=/usr/local'
        注意最后一行參數(shù)'--with-jpeg-dir=/usr/local' '--with-gd=/usr/local',指明了Jpeg和GD的目錄為/usr/local,這是根據(jù)步驟1、2中make install的結(jié)果而指定的。
        (由于命令太長,建議寫成shell文件再執(zhí)行。文件my-php-conf內(nèi)容如下:
        #! /bin/sh
        ./configure '--with-apxs=/usr/sbin/apxs' '--with-mysql' 
        '--with-config-file-path=/etc/httpd' '--enable-safe-mode' 
        '--with-system-regex' '--disable-debug' 
        '--with-zlib' '--enable-magic-quotes' '--enable-track-vars' 
        '--with-jpeg-dir=/usr/local' '--with-gd=/usr/local'
        用shell執(zhí)行之:
        sh my-php-conf
        效果是一樣的。)
        命令完成后該目錄下多了個Makefile文件。
        編譯并安裝:
        make
        make install
        命令完成后,libphp4.so被拷到/usr/lib/apache目錄下。

        4、 Apache的配置
        Apache本身不必重新編譯安裝,但使用了新的PHP,須讓Apache知道,得修改Apache的配置文件并重啟Apache服務(wù)。
        修改Apache配置文件/etc/httpd/conf/httpd.conf,使得文件中包含以下幾行:
        LoadModule php4_module modules/libphp4.so
        AddModule mod_php4.c
        AddType application/x-httpd-php .php3 .php
        同時注意把舊的php3的相應(yīng)行注釋掉,否則會出現(xiàn)沖突而使Apache重啟失敗。
        重啟Apache服務(wù):
        /etc/rc.d/init.d/httpd restart

        5、 實例測試
        再次按步驟0的說明檢查當(dāng)前狀態(tài),我已經(jīng)看到,PHP改成了新的版本號,GD庫也同時支持GIF和JPEG了。
        但我還是想用實例來測試一下,這個例子的功能是讀取一個gif文件,生成縮圖,然后保存為另一個jpg文件。文件create-thumb.php的內(nèi)容如下:
        <?
        function CreateThumbnail($srcFile, $dstFile, $dstW, $dstH)
        {
        $data = GetImageSize($srcFile,&$info);
        switch ($data[2]) {
        case 1:
        $im = @ImageCreateFromGIF($srcFile);
        break;
        case 2:
        $im = @ImageCreateFromJPEG($srcFile);
        break;
        case 3:
        $im = @ImageCreateFromPNG($srcFile);
        break;
        }
        $srcW=ImageSX($im);
        $srcH=ImageSY($im);
        if ($srcW <= $dstW && $srcH <= $dstH)
        ImageJPEG($im,$dstFile);
        else
        {
        if(($srcW / $srcH) > ($dstW / $dstH))
        $dstH = $dstW * $srcH / $srcW;
        else
        $dstW = $dstH * $srcW / $srcH;
        $ni=ImageCreate($dstW,$dstH);
        ImageCopyResized($ni,$im,0,0,0,0,$dstW,$dstH,$srcW,$srcH);
        ImageJPEG($ni,$dstFile);
        }
        }
        CreateThumbnail("./test.gif", "./test-tn.jpg", 80, 80);
        ?>
        把該文件放于Apahce的文檔目錄下(/etc/httpd/html),同時把測試用的圖像文件test.gif也放于該目錄下,然后用瀏覽器打開該php文件(我的hostname為zhangzh):
        http://zhangzh/create-thumb.php
        沒出錯信息。再看Apahce的文檔目錄(/etc/httpd/html),多了一個縮圖文件test-tn.jpg。

        大功告成,班師回朝。


        聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        配置PHP使之能同時支持GIF和JPEG

        配置PHP使之能同時支持GIF和JPEG:問題:安裝藍(lán)點Linux 2.0后,進(jìn)行PHP編程,發(fā)現(xiàn)只能處理GIF圖像,不能處理JPEG圖像。后來知道PHP處理圖像,使用了GD庫,而GD庫開始時是支持GIF的,但由于GIF使用了有版權(quán)爭議的LZW算法,會引起法律問題,于是從GD-1.6開始,GD庫不再支持GIF,改為支持更
        推薦度:
        標(biāo)簽: GIF 可以 php
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 国产jizzjizz免费视频| 美女裸身网站免费看免费网站| 97视频热人人精品免费| 亚洲熟妇av一区二区三区下载 | 国产亚洲情侣久久精品| 久久精品国产亚洲AV无码麻豆| 青柠影视在线观看免费| 久久久久一级精品亚洲国产成人综合AV区| 亚洲精品线在线观看| 免费国产黄网站在线观看可以下载| 免费日本黄色网址| 免费毛片毛片网址| 最新精品亚洲成a人在线观看| 精品国产免费人成网站| 久久久久久亚洲精品| 亚洲视频免费在线播放| 天天爽亚洲中文字幕| 国产国产成年年人免费看片| EEUSS影院WWW在线观看免费 | 亚洲成片观看四虎永久| 好湿好大好紧好爽免费视频| 亚洲AV日韩精品久久久久久| 免费女人高潮流视频在线观看| 亚洲人成7777影视在线观看| 免费观看的av毛片的网站| 人人公开免费超级碰碰碰视频| 亚洲成在人线av| 久久嫩草影院免费看夜色| 中文字幕亚洲精品| 国产性生交xxxxx免费| 黄色视屏在线免费播放| 亚洲精品第一国产综合精品| 日本免费一区二区三区最新vr| 在线视频网址免费播放| 亚洲欧洲中文日产| 少妇亚洲免费精品| 巨波霸乳在线永久免费视频 | 久久精品国产精品亚洲色婷婷| 无码日韩精品一区二区免费| 一级做a毛片免费视频| 四虎免费永久在线播放|