我的问题是相当直接的:

  1. 检索的一个图像数据库(目前作为二进制数据存储在一个blob列)
  2. 旋转就像90度(使用PHP的imagerotate)
  3. 储存的图像回的数据库,旋转的变化应用。

我有麻烦找到的功能,这将让我保存的图像数据流(未以文件系统)由于这些图像不允许接触的网络服务器(因此,他们为什么在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 保存到数据库中。

这只是一个粗略的概述,但我希望我已经解释了这个想法。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top