user-pic

[讨论]LBCGI和GD的冲突?

Vote 0 Votes



最简单的GD验证码程序。。


#!/usr/bin/perl
#use LBCGI;
use CGI qw(:all);
$verify= "1234";
require GD;
my $font = GD::gdGiantFont();
my $dx= 2 + $font->width * length $verify ;
my $dy = 2 + $font->height;
my $image = GD::Image->new($dx,$dy);
my $background = $image->colorAllocate(0,0,0);
my $txt = $image->colorAllocate(255,255,255);
#$image->transparent($background);
$image->string($font, 1, 1, $verify, $txt);
# print header(-charset=>gb2312, -type=>'image/png'), $image->png;
print header('image/png'), $image->png;
exit 0;

用的是 CGI模块,一切正常显示。
换成LBCGI模块,就图片无法显示。。无奈。。用了$image->gif;Win32测试环境LBCGI模块显示正常。
上传到FreeBSD空间,有没有办法显示图片?

研究LBCGI中header函数,似乎没有和CGI的header函数有区别的地方??

11 Replies

| Add a Reply
  • use LBCGI qw(header);
    這能嗎?

  • 下面引用由Anthony在 2004/10/29 00:46am 发表的内容:
    use LBCGI qw(header);
    這能嗎?

    还是不行的。。其实是输出了。。就是浏览器告诉图片非法不能显示。。 error.log没有错误,程序返回的数值也是正常的。
  • 那麼 你就看看所輸出的http header 是什麼吧..

  • 下面引用由Anthony在 2004/10/29 00:53am 发表的内容:
    那麼 你就看看所輸出的http header 是什麼吧..

    是 Content-Type: text/html; charset=GB2312

    ft,http header就不对。。但是。。为什么?
    明明 -type=>'image/gif' 了呀


  • 改成 print header(-type=>'image/png'), $image->png;  后。
    测试http header 是 Content-Type: image/png; charset=GB2312

    但是图象依然不显示。郁闷:(

  • print header('image/png');
    binmode (STDOUT);
    print $image->png;
    試試
    估計是這問題

  • 下面引用由Anthony在 2004/10/29 01:11am 发表的内容:
    print header('image/png');
    binmode (STDOUT);
    print $image->png;
    試試
    ...

    还是不行。。
    发现。在CGI模块下面。。。http header 没有 charset=GB2312。。
    可能是这个原因?
  • 下面引用由路杨在 2004/10/29 01:17am 发表的内容:
    还是不行。。
    发现。在CGI模块下面。。。http header 没有 charset=GB2312。。
    可能是这个原因?

    應該沒關係...
    試試$LBCGI::HEADERS_ONCE = 1;
    吧..估計不會是這問題..


  • 下面引用由Anthony在 2004/10/29 01:19am 发表的内容:
    應該沒關係...
    試試$LBCGIHEADERS_ONCE = 1;
    吧..估計不會是這問題..

    没有用:(

    睡觉了。明天再说,实在不行,我就不用LBCGI了。全部用CGI。汗 :em06:

  • 没有看明白LBCGI模块怎么写的么?


    #!/usr/bin/perl
    use LBCGI;
    $verify= "1234";
    require GD;
    my $font = GD::gdGiantFont();
    my $dx= 2 + $font->width * length $verify ;
    my $dy = 2 + $font->height;
    my $image = GD::Image->new($dx,$dy);
    my $background = $image->colorAllocate(0,0,0);
    my $txt = $image->colorAllocate(255,255,255);
    $image->string($font, 1, 1, $verify, $txt);
    print header(-charset=>'', -type=>'image/gif'), $image->gif;
    exit 0;


    如果你的GD不支持gif,只支持png的话

    print header(-charset=>'', -type=>'image/gif'), $image->gif;
    修改为
    print header(-charset=>'', -type=>'image/png'), $image->png;
    就ok了

  • 我晕下。。果真出现问题在了 -charset=>'' 上:(

Add a Reply

Forum Groups

Good Perl Books

Perl 學習手札

作者:簡信昌

Perl 學習手札 , 一本优秀的中文Perl在线学习资料。

Perl 程序讨论区

12 50

Last Topic: [注意]本区文章归档区 by 路杨 on Oct 16, 2006

事物处理及其他

113 1410

Last Topic: 踩个脚印 by 眼睛oo on Dec 4, 2010

测试私密区

测试私密区

18 88

Notice: 用于测试程序或者不可告人之秘密。不要问我要密码哦。。[此为原LB_ES论坛系统保留项,只限原有权限朋友进入,不再接受注册]

OpenID accepted here Learn more about OpenID