我目前正在使用一个简单的$ _FILES上传脚本将图片从我的iPhone应用程序上传到服务器。但是,图像大小很大,我想在将图像发送到服务器之前调整它们的大小。
然而,它的缺点是调整大小函数将它们转换为“blob”图像(据我所知,这是一种将图像存储在数据库中的方法)。我更喜欢将文件直接保存到文件系统。我如何将blob转换回$ _FILE或找到一个将blob图像保存到光盘的脚本?谢谢!
答案 0 :(得分:17)
BLOB是二进制图像。一旦它在您的服务器上,您就可以将该图像写入文件系统。因此,如果您的图像位于变量$ my_blob中,您可以执行类似
的操作file_put_contents('/path/to/new/file_name', $my_blob);
然后你去。
您可能希望先将文件保存到tmp位置,然后再将其检查到最终位置(使用PHP重命名()函数)。
顺便说一句:为什么不把BLOB保存到DB?这是目前处理文件的合法方式,毕竟这就是BLOB MySQL数据类型的用途。
答案 1 :(得分:3)
尝试将其写入具有image/[fill-in-the-blank]
mimetype的文件。或者也许imagecreatefromstring
会起作用。 (不确定其中任何一个)
或者您可以找到另一种调整图像大小的方法。