在blob中将blob图像转换为文件

时间:2011-04-21 14:11:00

标签: php

我目前正在使用一个简单的$ _FILES上传脚本将图片从我的iPhone应用程序上传到服务器。但是,图像大小很大,我想在将图像发送到服务器之前调整它们的大小。

然而,它的缺点是调整大小函数将它们转换为“blob”图像(据我所知,这是一种将图像存储在数据库中的方法)。我更喜欢将文件直接保存到文件系统。我如何将blob转换回$ _FILE或找到一个将blob图像保存到光盘的脚本?

谢谢!

2 个答案:

答案 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会起作用。 (不确定其中任何一个)

或者您可以找到另一种调整图像大小的方法。