【发布时间】:2013-10-10 09:13:55
【问题描述】:
我正在开发一个 api,它接受来自移动应用程序的 base64 编码形式的图像文件。
现在是创建该图像文件并存储在服务器中的 apis 任务。
下面是代码。
<?php
$file="mygif_image.gif";
$handle = fopen($file, "r");
if(!filesize($file)){
echo "corrupted file.."; die;
}
$image_contents = fread($handle, filesize($file));
fclose($handle);
$encoded_data = base64_encode($image_contents);
/* assume that this $encoded_data I am getting in api as request */
/* this will be the server side code, where encoded data is accepted and
I required to store image in server*/
$image_binary_content = base64_decode($encoded_data);
$im = imagecreatefromstring($image_binary_content);
if ($im !== false) {
header('Content-Type: image/gif');
imagegif($im,"mygif_image2.gif");
imagedestroy($im);
}else{
echo "some thing went wrong..";
}
?>
图像正在正确存储在所需位置,问题是效果没有出现。
imagejpeg(), imagepng() 这样的函数在 jpg,joeg,png 文件的情况下工作得很好。
不知道是哪个地方,哪里出了问题??
【问题讨论】:
-
你想给出哪些效果?在哪里?
-
“问题是效果没有出现”是什么意思?
-
我的意思是,在gif文件中,当我运行这段代码时,总是有一些动画,它创建了相同类型的图像文件,但是在原始图像文件中的动画效果,在新的不可用创建的文件..为了更清楚你打开这两个文件,说原始文件和新创建的文件..你会得到两者之间的区别。
-
请检查两个文件的代码。我的意思是比较新旧文件的代码...