当前位置: 首页 > 图文教程 > 网络编程 > PHP > 使用php动态生成gif时遇到的问题和解决办法

PHP
discuz安全提问算法
PHP静态新闻列表自动生成代码
用PHP实现图象锐化代码
PHP生成月历代码
用PHP实现的随机广告显示代码
用PHP实现维护文件代码
关于在php.ini中添加extension=php_mysqli.dll指令的说明
PHP 中的批处理的实现
木翼下载系统中说明的PHP安全配置方法
php为什么选mysql作为数据库? Mysql 创建用户方法
PHP如何编写易读的代码
PHP 优化配置——加速你的VBB,phpwind,Discuz,IPB,MolyX
php下一个阿拉伯数字转中文数字的函数
Discuz5.5.0代码高亮显示+运行代码框合成插件 下载
PHP+FLASH实现上传文件进度条相关文件 下载
发布一个迷你php+AJAX聊天程序[聊天室]提供下载
在普通HTTP上安全地传输密码
php中ob(Output Buffer 输出缓冲)函数使用方法
php 用sock技术发送邮件的函数
真正的ZIP文件操作类(php)

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 266 ::
收藏到网摘: n/a

php没有规定只输出html文件,它可以生成动态gif文件。我在使用php动态生成gif图像时遇到了一些问题,现已解决,我用的是php4.05(forwin32)+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:NoGIFsupportinthisPHPbuildin<b>d:\apache\htdocs\gif2.php3</b>online<b>12</b><br>。

解决办法:使用php4.05

这时我才发现是书上写的问题php_gd.dll根本不能支持生成gif,经高人指引才知道自己的版本php4.04forwin32缺少php_gd_gif.dll,于是我下载了一份更高版本的php4.05,这里面有支持生成动态gif的php_gd_gif.dll。

问题三:出现警告:Warning:Functionregistrationfailed-duplicatename-imagearcind:\apache\htdocs\gif2.php3online3

程序如下:

<?
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,"ThisisaGif",$white);

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


?>

解决办法:修改程序或者php.ini

dl()函数是用来加载dll的,但如果在php.ini文件中将所需要的dll前面的“;”已经去掉的话,那么这时就不要使用这个函数。
如果ini文件中extension=php_gd_gif.dll前的“;”没有去,那么就要用dl("php_gd_gif.dll");加载,总之:此两者是互异的,不然服务器认为是重复命名。