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 简单数组排序实现代码
Aug 05 PHP
完美实现GIF动画缩略图的php代码
Jan 02 PHP
PHP的加密方式及原理
Jun 14 PHP
PHP学习笔记(一) 简单了解PHP
Aug 04 PHP
php实现的发送带附件邮件类实例
Sep 22 PHP
PHP实用函数分享之去除多余的0
Feb 06 PHP
php禁止某ip或ip地址段访问的方法
Feb 25 PHP
PHP使用in_array函数检查数组中是否存在某个值
Mar 25 PHP
汇总PHPmailer群发Gmail的常见问题
Feb 24 PHP
CI框架常用方法小结
May 17 PHP
PHP 输出缓冲控制(Output Control)详解
Aug 25 PHP
PHP使用反向Ajax技术实现在线客服系统详解
Jul 01 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
PHP脚本数据库功能详解(中)
2006/10/09 PHP
php 随机记录mysql rand()造成CPU 100%的解决办法
2010/05/18 PHP
PHP输入流php://input介绍
2012/09/18 PHP
PHP children()函数讲解
2019/02/03 PHP
图片完美缩放
2006/09/07 Javascript
JQuery Tips(3) 关于$()包装集内元素的改变
2009/12/14 Javascript
jquery高效反选具体实现
2013/05/05 Javascript
IE、FF浏览器下修改标签透明度
2014/01/28 Javascript
使用 JavaScript 进行函数式编程 (一) 翻译
2015/10/02 Javascript
实例浅析js的this
2016/12/11 Javascript
基于react框架使用的一些细节要点的思考
2017/05/31 Javascript
jQuery实现文件编码成base64并通过AJAX上传的方法
2018/04/12 jQuery
深入浅出理解JavaScript闭包的功能与用法
2018/08/01 Javascript
[52:57]2014 DOTA2国际邀请赛中国区预选赛 LGD-CDEC VS HGT
2014/05/21 DOTA
[01:11:28]DOTA2-DPC中国联赛定级赛 RNG vs Phoenix BO3第一场 1月8日
2021/03/11 DOTA
python解析xml文件实例分析
2015/05/27 Python
python计算圆周率pi的方法
2015/07/11 Python
实例讲解Python的函数闭包使用中应注意的问题
2016/06/20 Python
对python的文件内注释 help注释方法
2018/05/23 Python
对Python 数组的切片操作详解
2018/07/02 Python
Python实现密码薄文件读写操作
2019/12/16 Python
Python3 pywin32模块安装的详细步骤
2020/05/26 Python
Python3爬虫关于识别检验滑动验证码的实例
2020/07/30 Python
总结html5自定义属性有哪些
2020/04/01 HTML / CSS
韩国休闲女装品牌网站:ANAIS
2016/08/24 全球购物
英国索普公园票务和酒店套餐:Thorpe Breaks
2019/09/14 全球购物
个人现实表现材料
2014/02/04 职场文书
餐饮业员工工作决心书
2014/03/11 职场文书
天网工程实施方案
2014/03/26 职场文书
《蜗牛的奖杯》教后反思
2014/04/24 职场文书
我的画教学反思
2014/04/28 职场文书
12.4全国法制宣传日活动总结
2014/11/01 职场文书
2015年乡镇卫生院工作总结
2015/04/22 职场文书
2019奶茶店创业计划书范本!
2019/07/15 职场文书
Pandas自定义选项option设置
2021/07/25 Python
Python+tkinter实现高清图片保存
2022/03/13 Python