为什么这个图片不起作用?

时间:2009-12-10 09:12:48

标签: php

我写道:

$im = imagecreatefromstring($im_string);        
return imagegif($im,'a.gif');

我从ZIP文件中获取的变量$im_string的内容。 它应该有效,但它返回'1'

为什么会这样?

2 个答案:

答案 0 :(得分:2)

根据php manual imagegif返回如下:

  

返回值

     

成功时返回TRUE或FALSE返回   故障。

您期望它返回什么?图像数据?

编辑:回答评论中的问题。 要输出实际数据,您应该没有第二个参数(将其发送到文件a.gif),以便它将数据直接发送到输出,或者您获取a.gif并在那里发送数据。在这两种情况下,您都需要记住将正确的内容类型标头发送回客户端。

答案 1 :(得分:2)

imagegif函数返回一个布尔值,因此返回值 1 表示它已成功。

如果需要返回实际的图像数据,还需要传递第二个参数并从文件中读取数据,或缓冲函数的输出。

<?php
ob_start();
$im = imagecreatefromstring($im_string);        
imagegif($im);
$img_data = ob_get_clean();

return $img_data;
?>

或者:

<?php
$im = imagecreatefromstring($im_string);        
imagegif($im, 'a.gif');

$img_data = file_get_contents('a.gif');

return $img_data;
?>