我正在尝试从外部网站上的.php文件中提取图像,这是一个gif(一帧)。我想最终把这些图像放到一个gif中,但这不是问题。每当我尝试将GIF保存为.pngs时,它会返回错误“不是有效的GIF文件”
include('GIFEncoder.class.php');
$user = $_GET['user'];
$url = 'http://link.com/image.php?username=' . $user . '';
$username = explode('=', $url);
$username = $username[1];
$img = 'image_cache/' . $username .'.gif';
file_put_contents($img, file_get_contents($url));
$i = imagecreatefromgif('image_cache/' . $username . '.gif');
imagepng($i, "image_cache/". $username .".png");
确切的错误即将到来
警告:imagecreatefromgif()[function.imagecreatefromgif]:'image_cache / Lexo.gif'不是第9行z / projects / gif / index.php中的有效GIF文件
答案 0 :(得分:1)
图像实际上是一个png。在文件上运行exif_imagetype
,您将看到该类型为png。 gif后缀是一个错误。要做你想做的事,只需用.png后缀命名。
答案 1 :(得分:0)
您的代码应该更像:
if(isset($_GET['user'])){
header('Content-type:image/png');
$user = $_GET['user']; $img = imagecreatefrompng("image_cache/$user.png");
imagepng($img); imagedestroy($img);
}
答案 2 :(得分:0)
试试这个代码来解决问题 somefilename is not a valid GIF file in..imagecreatefromgif()
$createFrom = imagecreatefromstring(file_get_contents($filepath));
imagecopyresampled();
imagegif();