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 相关文章推荐
dede全站URL静态化改造[070414更正]
Apr 17 PHP
PHP无敌近乎加密方式!
Jul 17 PHP
解析mysql 表中的碎片产生原因以及清理
Jun 22 PHP
linux实现php定时执行cron任务详解
Dec 24 PHP
PHP中替换键名的简易方法示例详解
Jan 07 PHP
thinkphp模板用法和内容输出实例
Nov 28 PHP
php从给定url获取文件扩展名的方法
Mar 14 PHP
PHP中的多种加密技术及代码示例解析
Oct 20 PHP
php实现的mysqldb读写分离操作类示例
Feb 07 PHP
php检查函数必传参数是否存在的实例详解
Aug 28 PHP
TP5框架请求响应参数实例分析
Oct 17 PHP
PHP7 list() 函数修改
Mar 09 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
二次元帅气男生排行榜,只想悄悄收藏系列
2020/03/04 日漫
PHP教程 变量定义
2009/10/23 PHP
PHP 多维数组排序(usort,uasort)
2010/06/30 PHP
PHP中常用的转义函数
2014/02/28 PHP
PHP正则提取不包含指定网址的图片地址的例子
2014/04/21 PHP
thinkPHP删除前弹出确认框的简单实现方法
2016/05/16 PHP
基于Laravel-admin 后台的自定义页面用法详解
2019/09/30 PHP
Laravel实现批量更新多条数据
2020/04/06 PHP
PHP笛卡尔积实现原理及代码实例
2020/12/09 PHP
PHP生成随机密码4种方法及性能对比
2020/12/11 PHP
缓动函数requestAnimationFrame 更好的实现浏览器经动画
2012/12/07 Javascript
深入浅出讲解ES6的解构
2016/08/03 Javascript
Listloading.js移动端上拉下拉刷新组件
2016/08/04 Javascript
jQuery插件EasyUI实现Layout框架页面中弹出窗体到最顶层效果(穿越iframe)
2016/08/05 Javascript
Bootstrap模态框调用功能实现方法
2016/09/19 Javascript
浅析Javascript的自动分号插入(ASI)机制
2016/09/29 Javascript
jQuery和CSS仿京东仿淘宝列表导航菜单
2017/01/04 Javascript
微信小程序-获得用户输入内容
2017/02/13 Javascript
bootstrap轮播图示例代码分享
2017/05/17 Javascript
bootstrap table.js动态填充单元格数据的多种方法
2019/07/18 Javascript
jquery插件开发模式实例详解
2019/07/20 jQuery
基于redis的小程序登录实现方法流程分析
2020/05/25 Javascript
vue点击Dashboard不同内容 跳转到同一表格的实例
2020/11/13 Javascript
python+matplotlib绘制简单的海豚(顶点和节点的操作)
2018/01/02 Python
Python+selenium 获取一组元素属性值的实例
2018/06/22 Python
Python采集猫眼两万条数据 对《无名之辈》影评进行分析
2018/12/05 Python
python之列表推导式的用法
2019/11/29 Python
用CSS3将你的设计带入下个高度
2009/08/08 HTML / CSS
Sql面试题
2013/03/20 面试题
平面设计自荐信
2013/10/07 职场文书
汽车检测与维修应届毕业生求职信
2013/10/19 职场文书
英文简历中的自我评价用语
2013/12/09 职场文书
打架检讨书500字
2014/01/29 职场文书
药店收银员岗位职责
2015/04/07 职场文书
工作服管理制度范本
2015/08/06 职场文书
安全学习心得体会范文
2016/01/18 职场文书