我写道:
$im = imagecreatefromstring($im_string);
return imagegif($im,'a.gif');
我从ZIP文件中获取的变量$im_string
的内容。
它应该有效,但它返回'1'。
为什么会这样?
答案 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;
?>