| 導購 | 订阅 | 在线投稿
分享
 
 
 

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

2008-12-23 08:12:55  編輯來源:互聯網  简体版  手機版  評論  字體: ||
 
  PHP沒有規定只輸出html文件,它可以生成動態gif文件。我在使用php動態生成gif圖像時遇到了一些問題,現已解決,我用的是php4.05(for win32)+apache3.1.2_win32。

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

  

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

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

   修改安裝php所在路徑下的php.ini(注意:一定是php路徑下的php.ini)extension_dir = 安裝php的路徑extensions(比如:c:phpextensions)。

   問題二: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:apachehtdocsgif2.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:apachehtdocsgif2.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");加載,總之:此兩者是互異的,不然服務器認爲是重複命名。
 
PHP沒有規定只輸出html文件,它可以生成動態gif文件。我在使用php動態生成gif圖像時遇到了一些問題,現已解決,我用的是php4.05(for win32)+apache3.1.2_win32。 問題一:動態生成gif的程序根本轉不起來 我寫了一個關于用php生成gif的例子,運行,發現頁面就是刷不出來,就象是死了一樣,浏覽器也沒有任何錯誤提示。 解決辦法:修改php所在目錄下的php.ini 修改安裝php所在路徑下的php.ini(注意:一定是php路徑下的php.ini)extension_dir = 安裝php的路徑extensions(比如:c:phpextensions)。 問題二: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:apachehtdocsgif2.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:apachehtdocsgif2.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");加載,總之:此兩者是互異的,不然服務器認爲是重複命名。
󰈣󰈤
 
 
 
>>返回首頁<<
 
 
 
 
 熱帖排行
 
王朝網路微信公眾號
微信掃碼關註本站公眾號 wangchaonetcn
 
  免責聲明:本文僅代表作者個人觀點,與王朝網絡無關。王朝網絡登載此文出於傳遞更多信息之目的,並不意味著贊同其觀點或證實其描述,其原創性以及文中陳述文字和內容未經本站證實,對本文以及其中全部或者部分內容、文字的真實性、完整性、及時性本站不作任何保證或承諾,請讀者僅作參考,並請自行核實相關內容。
 
© 2005- 王朝網路 版權所有