Ubuntu下php使用GD庫筆記

首先是查看GD庫有沒有被正確的安裝和加載.經過gd_info()能夠看,或者phpinfo。在phpinfo中能夠看到gd一欄,而後版本若是是 bundled (2.0.34 compatible) 的話,是從php4.3以後開始綁定的。若是沒有的話,能夠用命令安裝一個:
sudo apt-get install php5-gd.或者爲了安裝完整版本的,在源列表中添加兩行:
deb http://packages.dotdeb.org stable all
deb-src http://packages.dotdeb.org stable all
而後升級下:sudo apt-get update. 再安裝php5-gd.php

網上有說,安裝完成後php.ini會更新,可是個人並無。搜到gd.so在/usr/lib/php5/20060613+lfs /下,php.ini在/etc/php5/apach2下.因而手動修改php.ini。在其中修改extension_dir=」/usr/lib /php5/20060613+lfs/」,再添加一行extension=gd.so.以後重啓apach2: sudo /etc/init.d/apach2 restart。小程序

這些完成後能夠寫個測試的小程序。我使用的是php手冊上的例子.文件名爲pic.php。vim

1
2
3
4
5
6
7
8
9
<?php
header("Content-type:image/png");
$im= imagecreatetruecolor(300, 200);
$bg_color= imagecolorallocate($im, 0, 0, 0);
$text_color= imagecolorallocate($im, 23, 14, 91);
imagestring($im, 1, 5, 5,"A Simple Text String", $text_color);
imagepng($im);
imagedestroy($im);
?>

瀏覽器中打開時,開始遇到了些問題。發現提示我下載文件,下載後用gvim打開發現是亂碼,不過其中能夠看到PNG字樣,猜測這應該就是png圖像的二進 制數據,不過沒有被瀏覽器識別。用ultraedit和其餘的png圖像對比後,發現PNG圖像頭都相同,只是結尾多了四個字節。不過改名爲 pic.png後能夠用圖像查看器打開。瀏覽器

繼續搜,最後在phpchina論壇上看到了不少人問這個問題。找到了一個貌似答案的說法。說是這個php代碼是生成圖片的,因此不要在php代碼以前輸 出任何東西,包括空格。試了下,果真能夠了。不過須要先關閉瀏覽器,再打開,否則瀏覽器輸出的是緩存的東西。在另外一個文件test.php中用img的 src屬性調用src=」pic.php」,這個顯示正常。因此我以爲,若是須要用gd庫生成圖片的,最好生成圖片的文件單獨出來。緩存

終於糾結完了,開始寫驗證碼。測試

相關文章
相關標籤/搜索