找回密码
 注册
美国原生IP服务器推荐-Yv.gs
【阿里云】2核2G云新老同享 99元/年,续费同价做网站就用糖果主机-sugarhosts.comJtti.com-新加坡服务器,美国服务器,香港服务器
查看: 461|回复: 2

使用php动态生成gif时遇到的问题和解决办法

[复制链接]
发表于 2005 年 11 月 10 日 07:07:04 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
  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);但是在运行程序的时候,出现了这样的结果:

Warning: ImageGif: No GIF support in this PHP build in d:\apache\htdocs\gif2.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:\apache\htdocs\gif2.php3 on line 3

程序如下:



$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);加载,总之:此两者是互异的,不然服务器认为是重复命名。



转自:  http://edu.chinaz.com
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
发表于 2005 年 11 月 10 日 15:04:03 | 显示全部楼层
【腾讯云】2核2G云服务器新老同享 99元/年,续费同价
强,顶!!!! [s:16]
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
回复

使用道具 举报

 楼主| 发表于 2005 年 11 月 10 日 07:07:04 | 显示全部楼层

使用php动态生成gif时遇到的问题和解决办法

  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);但是在运行程序的时候,出现了这样的结果:

Warning: ImageGif: No GIF support in this PHP build in d:\apache\htdocs\gif2.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:\apache\htdocs\gif2.php3 on line 3

程序如下:



$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);加载,总之:此两者是互异的,不然服务器认为是重复命名。



转自:  http://edu.chinaz.com
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

美国原生IP服务器推荐|Archiver|手机版|小黑屋|金光论坛

GMT+8, 2025 年 1 月 31 日 11:12 , Processed in 0.125196 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表