开口、旋转和储存Tiff Images In a MySQL Database Blob列
题
我的问题是相当直接的:
- 检索的一个图像数据库(目前作为二进制数据存储在一个blob列)
- 旋转就像90度(使用PHP的imagerotate)
- 储存的图像回的数据库,旋转的变化应用。
我有麻烦找到的功能,这将让我保存的图像数据流(未以文件系统)由于这些图像不允许接触的网络服务器(因此,他们为什么在db)。任何建议是值得欢迎的。
感谢
解决方案
你是图像转换到另一种类型之前的旋转?你说你正在使用tiff,GD可以只读的 头tiff images, 你只需要把它第一次。可能有 ImageMagick
最有可能你会想要将文件保存到一个临时目录:
- 查询数据库的文件
- 保临时目录(你可以保护文件的通过设置的权限如果必要)
- 转动的图像
- 插入回到数据库
- 删除临时文件
其他提示
从数据库中选择数据。将数据传递到 imagecreatefromstring()
现在您将拥有一个可以调用imagerotate的图像资源。
要将其保存回数据库,您需要使用 输出它imagepng()
/ imagejpeg()代码>
或您正在使用的图像类型的等效函数。这些函数输出到浏览器或文件,因此您可以使用输出缓冲来捕获字符串以保存回DB。
ob_start();
imagepng($resource);
$img_data = ob_get_contents();
ob_end_clean();
现在可以将 $ img_data
保存到数据库中。
这只是一个粗略的概述,但我希望我已经解释了这个想法。
不隶属于 StackOverflow