Chinaunix首页 | 论坛 | 博客
  • 博客访问: 17834933
  • 博文数量: 7460
  • 博客积分: 10434
  • 博客等级: 上将
  • 技术积分: 78178
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-02 22:54
文章分类

全部博文(7460)

文章存档

2011年(1)

2009年(669)

2008年(6790)

分类:

2008-05-17 18:54:03

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


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

    程序如下:
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");加载,总之:此两者是互异的,不然服务器认为是重复命名。 
阅读(688) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~