phpgd圖片
① php 如何開啟GD功能
D庫是干什麼用的呢!它是php處理圖形的擴展庫,GD庫提供了一系列用來處理圖片的API,使用GD庫可以處理圖片,或者生成圖片。GD庫在php中默認是沒有開啟的,如果想讓它支持圖片處理功能,那麼就要手動開啟GD庫
工具/原料
wampserer(我一直用這個集成環境)
win7
方法/步驟
找到php.ini文件,有兩種方法:
方法一:wampserver安裝目錄下找到路徑wamp\bin\mysql\mysql5.5.24\php.ini(我安裝的根目錄是D盤)
方法二:啟動wampserver,單擊任務欄wamp圖標,選中PHP,看到php.ini,點擊進入php.ini文件
打開php.ini文件
用查找工具找到extension=php_gd2.dll,把extension=php_gd2.dll 前面的【;】,介樣子就可以了
測試能否用GD庫,代碼如下:
7
可以使用GD庫運行效果圖
② 為什麼使用php GD庫圖片輸出中文字會出現亂碼
原因:
1、伺服器編碼原因。由於imagettftext函數字元串參數的默認編碼是UTF8,如果伺服器編碼不一致,而又沒有進行相應的字元編碼格式轉換,很容易出現使用gd庫輸出圖片時中文字元變成亂碼。
2、沒有選擇正確的TTF字體文件。使用gd庫時如果要輸出中文字元,需要選擇正確的TTF字體文件。
解決方法:
根據之前介紹的php gd庫產生中文亂碼的原理,解決php gd庫中文亂碼的方法其實很簡單。
1、建議整站使用UTF8編碼,如果你已使用的是GB2312或GBK編碼,請使用iconv或自定義的gb2312與utf8轉換函數進行字元編碼轉換。gb2312與utf8轉換函數請參考PHP Ajax傳值中文字元亂碼如何解決。
2、如果你是剛進行php環境搭建,建議將Apache配置文件中的默認字元集修改為UTF8,即AddDefaultCharset UTF8。
3、如果上述方法還不行,請檢查你在編譯gd庫時是否添加了–enable-gd-jis-conv選項,此選項是為了讓gd庫支持日文編碼的字型檔,請取消此選項並重新編譯。此方法我沒驗證過,估計主要是針對Unix下安裝配置php環境。Windows環境一般不會出現這種情況,似乎默認PHP配置文件是注釋掉的。
4、使用php gd庫產生中文亂碼的另一個原因是沒有選擇正確的TTF字體,你需要選擇支持中文的字體,常用的中文字體文件是simsun.ttc和simhei.ttf。
OK,只要按照上述方法,基本上使用php gd庫產生中文亂碼時都能夠解決。只要仔細排查其實gd庫的中文亂碼解決起來非常方便。
③ LAMP安裝的PHP5如何開啟GD庫
<?php
phpinfo();//運行看看有沒有gd庫
?>
④ PHP中GD庫是做什麼用的
GD庫,是php處理圖形的擴展庫,GD庫提供了一系列用來處理圖片的API,使用GD庫可以處理圖片,或者生成圖片。
在網站上GD庫通常用來生成縮略圖,或者用來對圖片加水印,或者用來生成漢字驗證碼,或者對網站數據生成報表等。在PHP處理圖像,可使用GD庫,而GD庫開始時是支持GIF的,但由於GIF使用了有版權爭議的LZW演算法,會引起法律問題,於是從 GD 庫 1.6 版起所有的 GIF 支持都移除了,但是又在 GD 庫 2.0.28 版起又加了回來。如果使用二者之間版本的 GD 庫時 GIF 相關函數不可用。
安裝與配置
編輯
如果是 win 的伺服器,比較簡單,步驟如下:
1. 用dos命令(也可以手動操作,拷貝dlls文件夾里所有dll文件到system32目錄下) c:phpdlls*.dll c:windowssystem32
2. 打開php.ini
設置extension_dir = "c:/php/extensions/";
3. 在「;extension=php_gd2.dll」一行,把extension前面的分號去掉,如果沒有php_gd2.dll,php_gd.dll也一樣,保證確實存在這一文件c:/php/extensions/php_gd2.dll.
linux伺服器上配置方法:
yum install php-gd* #適用於32bit操作系統安裝命令;
yum install php-gd.x86_64 #適用於64bit操作系統安裝命令;