標籤:des http io color ar 使用 sp 檔案 資料
首先是查看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庫產生圖片的,最好產生圖片的檔案單獨出來。
終於糾結完了,開始寫驗證碼。
Ubuntu下php使用GD庫筆記