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 28 PHP
PHP UTF8编码内的繁简转换类
Jul 20 PHP
php max_execution_time执行时间问题
Jul 17 PHP
php 记录进行累加并显示总时长为秒的结果
Nov 04 PHP
ajax php传递和接收变量实现思路及代码
Dec 19 PHP
解析php中const与define的应用区别
Jun 18 PHP
关于js和php对url编码的处理方法
Mar 04 PHP
PHP中ltrim与rtrim去除左右空格及特殊字符实例
Jan 07 PHP
PHP打印输出函数汇总
Aug 28 PHP
ajax+php实现无刷新验证手机号的实例
Dec 22 PHP
PHP使用SOAP调用API操作示例
Dec 25 PHP
php实现微信和支付宝支付的示例代码
Aug 11 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模块 Memcached功能多于Memcache
2011/06/14 PHP
PHP 多维数组的排序问题 根据二维数组中某个项排序
2011/11/09 PHP
php表单处理操作
2017/11/16 PHP
PHP聊天室简单实现方法详解
2018/12/08 PHP
thinkphp5实现无限级分类
2019/02/18 PHP
PHP实现Markdown文章上传到七牛图床的实例内容
2020/02/11 PHP
javascript 动态添加事件代码
2008/11/30 Javascript
js 获取浏览器高度和宽度值(多浏览器)
2009/09/02 Javascript
淘宝搜索框效果实现分析
2011/03/05 Javascript
createElement与createDocumentFragment的点点区别小结
2011/12/19 Javascript
js实现缓冲运动效果的方法
2015/04/10 Javascript
JavaScript中使用自然对数ln的方法
2015/06/14 Javascript
快速解决js中window.location.href不工作的问题
2016/11/02 Javascript
Node.js 数据加密传输浅析
2016/11/16 Javascript
ionic2打包android时gradle无法下载的解决方法
2017/04/05 Javascript
react-router JS 控制路由跳转实例
2017/06/15 Javascript
vue教程之toast弹框全局调用示例详解
2020/08/24 Javascript
vue2.x+webpack快速搭建前端项目框架详解
2017/11/30 Javascript
vue element动态渲染、移除表单并添加验证的实现
2019/01/16 Javascript
微信小程序云开发 搭建一个管理小程序
2019/05/17 Javascript
小程序和web画三角形实现解析
2019/09/02 Javascript
python嵌套函数使用外部函数变量的方法(Python2和Python3)
2016/01/31 Python
python 以16进制打印输出的方法
2018/07/09 Python
浅谈Python3实现两个矩形的交并比(IoU)
2020/01/18 Python
解决tensorflow模型压缩的问题_踩坑无数,总算搞定
2021/03/02 Python
DJI大疆无人机官方商城:全球领先的无人飞行器研发和生产商
2016/12/21 全球购物
新西兰演唱会和体育门票网站:Ticketmaster新西兰
2017/10/07 全球购物
澳大利亚设计师服装在线:MISHA
2019/10/07 全球购物
就业表自我评价分享
2014/02/06 职场文书
薪酬专员岗位职责
2014/02/18 职场文书
新年团拜会主持词
2014/04/02 职场文书
简易离婚协议书范本2014
2014/10/15 职场文书
全国法制宣传日活动总结
2015/05/05 职场文书
Python基础之操作MySQL数据库
2021/05/06 Python
如何使用分区处理MySQL的亿级数据优化
2021/06/18 MySQL
java实现面板之间切换功能
2022/06/10 Java/Android