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

來源:互聯網
上載者:User
動態|解決|問題

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:\php\extensions)。

問題二:php_gd.dll不支援gif

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

<br><b>Warning</b>: ImageGif: No GIF support in this PHP build in <b>d:\apache\htdocs\gif2.php3</b> on line <b>12</b><br>。

解決辦法:使用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:\apache\htdocs\gif2.php3 on line 3

程式如下:

<?
dl("php_gd_gif.dll");
header("content-type:image/gif");

$im = imagecreate(400,30);
$black = imagecolorallocate($im,0,0,0);
$white = imagecolorallocate($im,255,255,255);
imageline( $im,200,15,215,15,$white);
imagestring($im, 5, 4, 10, "This is a Gif", $white);

imagegif($im);
imagedestroy($im);


?>

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

dl()函數是用來載入dll的,但如果在php.ini檔案中將所需要的dll前面的“;”已經去掉的話,那麼這時就不要使用這個函數。
如果ini檔案中extension=php_gd_gif.dll前的“;”沒有去,那麼就要用dl("php_gd_gif.dll");載入,總之:此兩者是互異的,不然伺服器認為是重複命名。

 



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.