如何将图像保存到从iOS应用程序接收的文件,PHP编码为十六进制?

时间:2010-12-08 00:12:14

标签: php ios png

我的网络服务器通过POST从iOS应用程序接收PNG图像文件。 我需要使用PHP将此PNG保存到硬盘上的文件中。

我收到的POST数据如下所示:

& image =< 89504e47 0d0a1a0a 0000000d 49484452 ...

如您所见,我将图像作为HEX数据接收。我试图将图像保存到磁盘,但生成的文件将无法打开。所有应用程序都说PNG已损坏。

我收到的数据似乎没问题,因为如果我只是将我的网络服务器日志文件中的POST数据放在我的Mac上使用我的HEX-Editor的文件中,PNG就能正常工作。

我的PHP代码:

$image = $_POST['image']);
$image = pack("H*", $image);
$filename = "image.png";
$f = fopen($filename,'wb');
fwrite($f, $image);
fclose($f);

2 个答案:

答案 0 :(得分:1)

您应该使用$_FILE[]方法在iOS上发送和检索您的PNG图像。查看本教程,解释如何生成表单并将其发送到PHP服务,这非常简单:

http://iphone.zcentric.com/2008/08/29/post-a-uiimage-to-the-web/

答案 1 :(得分:0)

我的方法是正确的。

我的PHP代码不起作用的原因是因为iOS应用程序提供的HEX-Data字符串 以某种方式格式化,因此包括空格和“<”和“>”字符。

删除后一切正常。