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.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。

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庫生成圖片的,最好生成圖片的文件單獨出來。

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM