【问题标题】:In PHP, is it possible to take web page screenshots in memory?在PHP中,是否可以在内存中截取网页截图?
【发布时间】:2010-11-03 12:16:43
【问题描述】:

所谓“存储器”,我的意思是屏幕截图将不被写入到文件中。 P>

的要求是,以产生一个网页,将被存储在数据库中的缩略图。我知道,在数据库中保存的图像,不建议,但我们可能不会在我们的服务器写权限,所以我们都在探索这个选项。 P>

如果这是可能的,它怎么办? P>

【问题讨论】:

  • 有两点要注意:1,存储到数据库并不意味着它不会写入一个文件。它只是意味着它存储在数据库中的文件系统,有可能在磁盘上,而不是标准的文件系统。 2,你已经有了截图,或者你询问如何生成他们吗?这不是很可能只用PHP,因为PHP是不是HTML / CSS渲染器。一般需要一个浏览器和显示器(至少一个虚拟X / VNC显示)来创建的屏幕截图。跨度>
  • @亚历克斯JL:你真的不需要显示器产生屏幕截图。有迹象表明,将直接呈现的图像的工具,并且毕竟,即使浏览器需要在显示之前,以产生在存储器中的图像。跨度>
  • @卡萨布兰卡那太好了,我看着各种WebKit的渲染,但他们都似乎很sklonky我最后一次检查。我得看看你推荐的人。我有最好的运气只是在开始的Xvfb一个真正的浏览器。 SPAN>
  • @亚历克斯JL - 我也明白,关于数据库VS文件。这只是我自己(或Web服务器用户)可能没有足够的权限来写入文件。我不会想成为服务器的SysAD,以及可能的SysAD不是轻易允许我的请求。具有数据库的建立对我来说,在另一方面,非常肯定的事情。 SPAN>
  • 我的当前解决方案使用CutyCapt,这需要Qt框架,这反过来又具有一个内置的Webkit引擎。它工作得很好在WinXP,Mac OS X和Ubuntu Linux系统。对于Linux,它仍然需要的Xvfb(或一些其它虚拟显示)。跨度>

标签: php screenshot


【解决方案1】:

这需要一个用 PHP 编写的网页渲染器,据我所知,没有库可以做到这一点。然而,有几个命令行工具可以做到这一点(CutyCapt 就是一个例子),但它们写入文件。

关于写权限,你可以写信到/tmp,然后通过PHP进行传递。

【讨论】:

  • 我在开发过程中使用 CutyCapt。刚刚向我介绍了在部署到生产环境时可能遇到的问题。我会看看/tmp 是否可用。谢谢!
猜你喜欢
  • 2019-10-25
  • 2019-08-09
  • 2017-07-17
  • 2014-04-13
  • 2023-03-03
  • 2022-10-14
  • 1970-01-01
  • 2013-06-15
  • 2010-09-08
相关资源
最近更新 更多