我的网络服务器正在通过 POST 从 iOS 应用程序接收 PNG 图像文件。 我需要使用 PHP 将此 PNG 保存到硬盘上的文件中。
我收到的 POST 数据如下所示:
&image=<89504e47 0d0a1a0a 0000000d 49484452...
如您所见,我收到的图像是十六进制数据。我试图将图像保存到磁盘,但生成的文件打不开。所有应用程序都说 PNG 已损坏。
我收到的数据似乎没问题,因为如果我简单地将我的网络服务器日志文件中的 POST 数据放入我的 Mac 上的 HEX 编辑器的文件中,PNG 就可以工作。
我的 PHP 代码:
$image = $_POST['image']);
$image = pack("H*", $image);
$filename = "image.png";
$f = fopen($filename,'wb');
fwrite($f, $image);
fclose($f);
最佳答案
您应该使用 $_FILE[]
方法在 iOS 上发送和检索您的 PNG 图像。查看本教程,它解释了如何生成表单并将其发送到您的 PHP 服务,它非常简单:
http://iphone.zcentric.com/2008/08/29/post-a-uiimage-to-the-web/
关于php - 如何将图像保存到从 iOS 应用程序接收到的文件中,PHP 编码为十六进制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4383021/