截取当前屏幕的截图并通过php将其保存为png图像

你好,我有一个要求客户需要当前网页的截图,当他点击按钮“sceencapture”虽然我googled它结果出来这样

$im = imagegrabscreen(); imagepng($im, "myscreenshot.png"); imagedestroy($im); 

在php.net上的手册链接这里有一个注释:此function仅适用于Windows。 请帮忙 ..

使用PHP是不可能的,因为PHP在服务器上执行,并且必须在客户端上按定义进行屏幕截图。 您可以使用客户端技术(如html2canvas库)在客户端截取屏幕截图。 然后,如果您愿意,可以将屏幕截图发送到服务器端PHP代码。

虽然@Erix Schierboom回答了我想分享一些代码的问题。

这不能单靠php完成。 您将需要javascript来截取屏幕截图,将其转换为string并通过ajax将其发送到php script ,然后保存内容。

为此,您可以使用此库http://html2canvas.hertzen.com/ 。 现在魔术发生在接下来的几行代码中:

 // an example html page         
Big header!
Medium Content
// Your php side script true)); } else { echo json_encode(array('error' => 'Could not parse image string.')); } exit(); } ?>

就IE 7和8支持而言 – 谷歌(以及其他大型网站)声称最新支持最多1个版本。 所以,如果当前版本是10,那么它们只支持9和10.我相信这是一个很好的做法,我也和我的客户一起使用它。 如果你正在开发高级网页,那么IE <8是一个很大的痛苦... ... 如果您的客户仍然坚持使用IE 7和8支持,您可能需要检查Modernizr和html5shiv ,这可能会帮助您将IE的html5支持。