杭州神话信息技术有限公司

标题: 解决签名档动态图片生成不了的问题 [打印本页]

作者: hhren1984    时间: 2011-9-18 10:20:39     标题: 解决签名档动态图片生成不了的问题

本帖最后由 hhren1984 于 2011-9-19 19:03 编辑

因为有点事儿,先写上方法,回头再详说

首先,判断头像文件的文件类型,再分别调用生成图片的方法,于是,在qmd_img_list()函数中,再写入一个函数如下:文件位置:include/logic/other.logic.php
添加:
  1.     function qmd_img_list($pic_path = '', $user_uid = 0, $user_face = '', $topic_content = '', $topic_dateline)
  2.     {
  3.        //添加部分
  4.          function pictype($file)
  5.         {
  6.             /**
  7.              * $png_header = "\x89\x50\x4e\x47\x0d\x0a\x1a\x0a";
  8.              * $jpg_header = "\xff\xd8";
  9.              */
  10.             
  11.              $header = file_get_contents($file, 0, NULL, 0, 5);
  12.             
  13.              // echo bin2hex($header);
  14.             if ($header{0} . $header{1} == "\x89\x50")
  15.             {
  16.                  return 'png';
  17.                  }
  18.             else if($header{0} . $header{1} == "\xff\xd8")
  19.             {
  20.                  return 'jpeg';
  21.                  }
  22.             else if($header{0} . $header{1} . $header{2} == "\x47\x49\x46")
  23.             {
  24.                
  25.                  if($header{4} == "\x37")
  26.                      return 'gif87';
  27.                  else if($header{4} == "\x39")
  28.                      return 'gif89';
  29.                  }
  30.             
  31.             }
  32.         //添加部分
  33.         
  34.          Load :: lib('io');
复制代码


它判读是什么类型的文件,之后将原来单一jpeg的图片生成改成判断,如下:

原:
  1. $user_src_im = imagecreatefromjpeg($user_src);
复制代码

修改为:
  1. if($filetype == "jpeg") $user_src_im = @imagecreatefromjpeg($user_src);
  2.              else if($filetype == "gif89" || $filetype == "gif87") $user_src_im = @imagecreatefromgif($user_src);
  3.              else if($filetype == "png") $user_src_im = @imagecreatefrompng($user_src);
复制代码






作者: tsuego    时间: 2011-9-18 10:51:12

难怪叫做Beta版,还真多问题啊
作者: baobao1982    时间: 2011-9-19 04:20:17

请问修改那个文件啊?可以说具体点吗?
作者: hhren1984    时间: 2011-9-19 17:52:46

baobao1982 发表于 2011-9-19 04:20
请问修改那个文件啊?可以说具体点吗?

include logic other_logic.php
应该是这个文件里面,有这个函数,在函数里面新增我所说的函数,之后在生成图像那里加上我用的判断就可以了

作者: hhren1984    时间: 2011-9-19 19:03:28

xdhomes 发表于 2011-9-19 18:16
在哪个文件哪里修改?请问能详细一点吗,刚弄,不懂

文章已修改完善,有问题再问我

作者: wyaiyh    时间: 2011-9-21 14:21:24

zhichi一下
作者: baobao1982    时间: 2011-9-22 01:10:07

好像不行啊
作者: hhren1984    时间: 2011-9-22 07:55:09

baobao1982 发表于 2011-9-22 01:10
好像不行啊

那就升级为beta2吧,原理是一样的

作者: baobao1982    时间: 2011-9-22 16:53:41

我升级了,还是不显示!~正郁闷着呢~~~
作者: hhren1984    时间: 2011-9-23 19:06:34

baobao1982 发表于 2011-9-22 16:53
我升级了,还是不显示!~正郁闷着呢~~~

给个网址,我帮你看一下





欢迎光临 杭州神话信息技术有限公司 (http://www.cenwor.com/) Powered by Discuz! X2