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 include的妙用,实现路径加密
Jul 29 PHP
深入解析php之apc
May 15 PHP
PHP 常用数组内部函数(Array Functions)介绍
Jun 05 PHP
linux下使用crontab实现定时PHP计划任务失败的原因分析
Jul 05 PHP
PHP网站建设的流程与步骤分享
Sep 25 PHP
php示例详解Constructor Prototype Pattern 原型模式
Oct 15 PHP
HTML中嵌入PHP的简单方法
Feb 16 PHP
中高级PHP程序员应该掌握哪些技术?
Sep 23 PHP
PHP实现小偷程序实例
Oct 31 PHP
php 防止表单重复提交两种实现方法
Nov 03 PHP
php微信公众号开发之二级菜单
Oct 20 PHP
PHP实现微信提现(企业付款到零钱)
Aug 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
一道求$b相对于$a的相对路径的php代码
2010/08/08 PHP
解析CI的AJAX分页 另类实现方法
2013/06/27 PHP
用Zend Studio+PHPnow+Zend Debugger搭建PHP服务器调试环境步骤
2014/01/19 PHP
php获取文件大小的方法
2014/02/26 PHP
jquery之Document元素选择器篇
2008/08/14 Javascript
给页面渲染时间加速 干掉Dom Level 0 Event
2012/12/19 Javascript
jQuery实现垂直半透明手风琴特效代码分享
2015/08/21 Javascript
AngularJS入门教程之XHR和依赖注入详解
2016/08/18 Javascript
15个非常实用的JavaScript代码片段
2016/12/18 Javascript
微信小程序-获得用户输入内容
2017/02/13 Javascript
微信小程序Redux绑定实例详解
2017/06/07 Javascript
AngularJS动态绑定ng-options的ng-model实例代码
2017/06/21 Javascript
Postman模拟发送带token的请求方法
2018/03/31 Javascript
对于防止按钮重复点击的尝试详解
2019/04/22 Javascript
Python编程之属性和方法实例详解
2015/05/19 Python
不要用强制方法杀掉python线程
2017/02/26 Python
用Python设计一个经典小游戏
2017/05/15 Python
python模块之sys模块和序列化模块(实例讲解)
2017/09/13 Python
Python自定义函数定义,参数,调用代码解析
2017/12/27 Python
TensorFlow实现Batch Normalization
2018/03/08 Python
Python二叉搜索树与双向链表转换算法示例
2019/03/02 Python
Django 静态文件配置过程详解
2019/07/23 Python
Python @property使用方法解析
2019/09/17 Python
在 Python 中接管键盘中断信号的实现方法
2020/02/04 Python
Django Admin后台模型列表页面如何添加自定义操作按钮
2020/11/11 Python
Python解析微信dat文件的方法
2020/11/30 Python
法国一家多品牌成衣精品中/高档商店:Graduate Store
2019/08/28 全球购物
介绍一下Ruby中的对象,属性和方法
2012/07/11 面试题
计算机专业推荐信范文
2013/11/20 职场文书
服务中心夜班服务员岗位职责
2013/11/27 职场文书
校友会欢迎辞
2014/01/13 职场文书
光棍节联谊晚会活动策划书
2014/10/10 职场文书
2014年工作总结与下年工作计划
2014/11/27 职场文书
2019毕业论文致谢词
2019/06/24 职场文书
Python使用random模块实现掷骰子游戏的示例代码
2021/04/29 Python
MySQL约束(创建表时的各种条件说明)
2022/06/21 MySQL