首頁  >  文章  >  後端開發  >  使用php動態產生gif時遇到的問題和解決方法

使用php動態產生gif時遇到的問題和解決方法

高洛峰
高洛峰原創
2016-12-02 10:33:201161瀏覽

php沒有規定只輸出html文件,它可以產生動態gif檔案。我在使用php動態產生gif映像時遇到了一些問題,現在已經解決,我使用的是php4.05(for win32)+apache3.1.2_win32。


問題一:動態生成gif的程式根本轉不起來 

我寫了一個關於用php生成gif的例子,運行,發現頁面就是刷不出來,就像是死了一樣,瀏覽器也沒有任何錯誤提示。

解決方法:修改php所在目錄下的php.ini

透過奧索網會員selo幫助,告訴我要修改安裝php所在路徑下的php.ini(注意:一定是php路徑下的php.ini )extension_dir = 安裝php的路徑extensions(例如:c:phpextensions)。

問題二:php_gd.dll不支援gif

我在程式的開頭載入了php_gd.dll動態連線庫:dl("php_gd.dll");但是在執行程式的時候,出現了這樣的結果:


Warning: ImageGif: No GIF support in this PHP build in d:apachehtdocsgif2.php3 on line 12

解決方法:使用php4.05 

這時我才發現是書上寫的問題php_gd.dll根本不能支持生成gif,經高人指引才知道自己的版本php4.04 for win32缺少php_gd_gif.dll,於是我下載了一份更高版本的php4.05,這裡面有支援產生動態gif的php_gd_gif.dll。

問題三:出現警告:Warning: Function registration failed - duplicate name - imagearc in d:apachehtdocsgif2.php3 on line 3

程式如下:


$im = imagecreate(400,30); 

$black = imagecolorallocate($im,0,0,0); 

$white = imagecolorallocate($im,25,525,25,255);
imageline( $im,200,15,215,15,$white); 
imagestring($im, 5, 4, 10, "This is a Gif", $white);

imagegif($im); $im);


?>

解決方法:修改程式或php.ini 

dl()函數是用來載入dll的,但如果在php.ini檔案中將所需要的dll前面的「; 「已經去掉的話,那麼這時就不要使用這個函數。 

如果ini檔案中extension=php_gd_gif.dll前的「;」沒有去,那麼就要用dl("php_gd_gif.dll");加載,總之:此兩者是互異的,不然伺服器認為是重複命名。 


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn