我在 page1.php 中有一个表单,用户在其中选择产品,然后页面被重定向到 page2.php,在那里他根据自己的选择获取表进行更新。使用了 FORM VARIABLES。现在我想要的是,当用户单击 page2.php 上的更新按钮时,应捕获整页屏幕截图并将其直接发送到 MYSQL 数据库。我的数据库名称 =test
我的表 =test_table
我什至在我的数据库中创建了图像列 BLOB。
我需要的是我希望直接从 page2.php 发送图像并返回到 page1.php。
我在 page1.php 中有一个表单,用户在其中选择产品,然后页面被重定向到 page2.php,在那里他根据自己的选择获取表进行更新。使用了 FORM VARIABLES。现在我想要的是,当用户单击 page2.php 上的更新按钮时,应捕获整页屏幕截图并将其直接发送到 MYSQL 数据库。我的数据库名称 =test
我的表 =test_table
我什至在我的数据库中创建了图像列 BLOB。
我需要的是我希望直接从 page2.php 发送图像并返回到 page1.php。
您不能像用户使用其操作系统的屏幕截图功能一样使用 Javascript/PHP 来拍摄实际屏幕截图。
您唯一真正的选择是使用 HTML2Canvas 在用户页面上使用 HTML 生成图像。
有关详细信息,请参阅此答案:https ://stackoverflow.com/a/15597205/2598779
实际上有一个 php 函数叫做imagegrabscreen
. 要将其保存为 .png 图像,请尝试以下操作:
<?php
$im = imagegrabscreen();
imagepng($im, "myscreenshot.png");
imagedestroy($im);
?>
注意: 这仅适用于 Windows。
http://php.net/manual/en/function.imagegrabscreen.php
如果要抓取窗口,例如浏览器窗口的打印屏幕,请使用imagegrabwindow
:
<?php
$browser = new COM("InternetExplorer.Application");
$handle = $browser->HWND;
$browser->Visible = true;
$browser->Navigate("http://www.example.com");
/* Still working? */
while ($browser->Busy) {
com_message_pump(4000);
}
$im = imagegrabwindow($handle, 0);
$browser->Quit();
imagepng($im, "iesnap.png");
imagedestroy($im);
?>
注意: 这也只能在 Windows 中使用,并且是为 Internet Explorer 编写的。