php使用CutyCapt实现网页截图保存的方法


Posted in PHP onOctober 03, 2016

本文实例讲述了php使用CutyCapt实现网页截图保存的方法。分享给大家供大家参考,具体如下:

网页截图这个功能大家可能用到最多的就是QQ截图,或利用asp.net来实现截图,其实我们也可以直接使用php来网页截图,这里就来给大家介绍php利用CutyCapt实现网页截图的流程:

CutyCapt下载地址:http://sourceforge.net/projects/cutycapt/files/cutycapt/

windows CutyCapt不需要安装,直接保存到你的电脑中即可,然后php代码如下写:

<?php
/*
网页截图功能,必须安装IE+CutyCapt
url:要截图的网页
out:图片保存路径
path:CutyCapt路径
cmd:CutyCapt执行命令
比如:http://你php路径.php?url=https://3water.com
*/
$url=$_GET["url"];
$imgname=str_replace('http://','',$url);
$imgname=str_replace('https://','',$imgname);
$imgname=str_replace('.','-',$imgname);
$out = 'D:/webroot/test/'.$imgname.'.png';
$path = 'D:/webserver/CutyCapt.exe';
$cmd = "$path --url=$url --out=$out";
echo $cmd;
system($cmd);
?>

如果你是linux系统就需要简单的配置一下CutyCapt,安装网站截图软件CutyCapt.

一、先安装Qt47,增加qt47的下载源,代码如下:

vi /etc/yum.repos.d/atrpms.repo
[atrpms]
name=CentOS $releasever ? $basearch ? ATrpms
baseurl=http://dl.atrpms.net/el$releasever-$basearch/atrpms/stable
gpgkey=http://ATrpms.net/RPM-GPG-KEY.atrpms
gpgcheck=1
enabled=1
[atrpms-testing]
name=CentOS $releasever ? $basearch ? ATrpms testing
baseurl=http://dl.atrpms.net/el$releasever-$basearch/atrpms/testing
gpgkey=http://ATrpms.net/RPM-GPG-KEY.atrpms
gpgcheck=1
enabled=1
yum update
yum installqt47
yum installqt47-devel
yum installqt47-webkit
yum installqt47-webkit-devel

也许这里还会有报错提示:

warning: qt44-x11-4.4.3-10_4.el5.x86_64.rpm: Header V4 DSA signature: NOKEY, key ID 66534c2b
error: Failed dependencies:
    libGLU.so.1()(64bit) is needed by qt44-x11-4.4.3-10_4.el5.x86_64
    libmng.so.1()(64bit) is needed by qt44-x11-4.4.3-10_4.el5.x86_64
//解决:
//yum -y installqt-devel*

二、安装 CutyCapt,代码如下:

cd /data0/software
svn co https://cutycapt.svn.sourceforge.net/svnroot/cutycapt
mv cutycapt/CutyCapt /usr/local/cutycapt
cd /usr/local/cutycapt
qmake
make

此处可能会报错:make: *** [CutyCapt] Error 1

解决:yum update sqlite,再次执行 make,如果还不成功 qmake-qt47 再次执行make.

三、下载x-server,代码如下:

wget http://www.flexthinker.com/wp-content/uploads/2009/11/xvfb-run.sh.txt
mv ./xvfb-run.sh.txt/usr/local/cutycapt/xvfb-run.sh
chmodu+x /usr/local/CutyCapt/xvfb-run.sh

四、安装中文包

yum installfonts-chinese

五、安装ImageMagick

yum installImageMagick

六、测试,代码如下:

/usr/local/cutycapt/xvfb-run.sh --server-args="-screen 0, 1024x768x24"/usr/local/cutycapt/CutyCapt --url=https://3water.com--out=/tmp/163.jpg

163.jpg没有加载出flash.

七、下载64位flash插件,代码如下:

cd /data0/software
#wget http://119.188.72.26/1/ishare.down.sina.com.cn/14036482.so?ssig=YB70Xk7Ph9&Expires=1340899200&KID=sina,ishare&ip=1340777795,114.255.44.&fn=libflashplayer.so
http://ishare.iask.sina.com.cn/f/13659493.html
ll /usr/lib64/mozilla/plugins/
lrwxrwxrwx 1 root root 41 06-27 14:00 libflashplayer.so ->/usr/lib64/flash-plugin/libflashplayer.so
cp /data0/software/libflashplayer.so /usr/lib64/flash-plugin/

测试加载成功.

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
PHP 中的批处理的实现
Jun 14 PHP
PHP生成HTML静态页面实例代码
Aug 31 PHP
让Json更懂中文(JSON_UNESCAPED_UNICODE)
Oct 27 PHP
基于php实现长连接的方法与注意事项的问题
May 10 PHP
PHP分页效率终结版(推荐)
Jul 01 PHP
从PHP的源码中深入了解stdClass类
Apr 18 PHP
CI(CodeIgniter)框架介绍
Jun 09 PHP
深入理解PHP内核(一)
Nov 10 PHP
PHP二维数组排序简单实现方法
Feb 14 PHP
PHP获取页面执行时间的方法(推荐)
Dec 10 PHP
thinkphp5 URL和路由的功能详解与实例
Dec 26 PHP
PHP验证类的封装与使用方法详解
Jan 10 PHP
php+mysql查询实现无限下级分类树输出示例
Oct 03 #PHP
php opendir()列出目录下所有文件的实例代码
Oct 02 #PHP
PHP读MYSQL中文乱码的快速解决方法
Oct 01 #PHP
php简单统计中文个数的方法
Sep 30 #PHP
php简单实现多维数组排序的方法
Sep 30 #PHP
thinkphp在php7环境下提示Cannot use ‘String’ as class name as it is reserved的解决方法
Sep 30 #PHP
PHP GD库相关图像生成和处理函数小结
Sep 30 #PHP
You might like
解析array splice的移除数组中指定键的值,返回一个新的数组
2013/07/02 PHP
php和jquery实现地图区域数据统计展示数据示例
2014/02/12 PHP
在CentOS上搭建LAMP+vsftpd环境的简单指南
2015/08/01 PHP
PHP中类属性与类静态变量的访问方法示例
2016/07/13 PHP
JavaScript 异步调用框架 (Part 6 - 实例 &amp; 模式)
2009/08/04 Javascript
JavaScript高级程序设计 读书笔记之十一 内置对象Global
2012/03/07 Javascript
关于extjs4如何获取grid修改后的数据的问题
2013/08/07 Javascript
jquery实现checkbox全选全不选的简单实例
2013/12/31 Javascript
什么是cookie?js手动创建和存储cookie
2014/05/27 Javascript
jQuery获取选中内容及设置元素属性的方法
2014/07/09 Javascript
jQuery实现仿百度首页滑动伸缩展开的添加服务效果代码
2015/09/09 Javascript
如何解决jQuery EasyUI 已打开Tab重新加载问题
2016/12/19 Javascript
jQuery实现倒计时功能 jQuery实现计时器功能
2017/09/19 jQuery
node中modules.exports与exports导出的区别
2018/06/08 Javascript
vue.js响应式原理解析与实现
2020/06/22 Javascript
JS绘图Flot如何实现可选显示曲线图功能
2020/10/16 Javascript
Python标准库内置函数complex介绍
2014/11/25 Python
Python创建xml的方法
2015/03/10 Python
利用Python脚本在Nginx和uwsgi上部署MoinMoin的教程
2015/05/05 Python
numpy排序与集合运算用法示例
2017/12/15 Python
python matplotlib 在指定的两个点之间连线方法
2018/05/25 Python
win10下tensorflow和matplotlib安装教程
2018/09/19 Python
PyCharm下载和安装详细步骤
2019/12/17 Python
Python控制台输出时刷新当前行内容而不是输出新行的实现
2020/02/21 Python
详解Python多线程下的list
2020/07/03 Python
python opencv实现直线检测并测出倾斜角度(附源码+注释)
2020/12/31 Python
python中time包实例详解
2021/02/02 Python
State Cashmere官网:半零售价可持续蒙古羊绒
2020/02/26 全球购物
工商管理专业职业生涯规划
2014/01/01 职场文书
工商企业管理专业自荐信范文
2014/04/12 职场文书
村庄绿化方案
2014/05/07 职场文书
夫妻婚内购房协议书
2014/10/05 职场文书
2015年小学开学寄语
2015/02/27 职场文书
博物馆观后感
2015/06/05 职场文书
纪检监察立案决定书
2015/06/24 职场文书
Nginx+Tomcat实现负载均衡、动静分离的原理解析
2021/03/31 Servers