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 相关文章推荐
Discuz 模板语句分析及知识技巧
Aug 21 PHP
PHP 5.3.1 安装包 VC9 VC6不同版本的区别是什么
Jul 04 PHP
PHP 5.3 下载时 VC9、VC6、Thread Safe、Non Thread Safe的区别分析
Mar 28 PHP
windwos下使用php连接oracle数据库的过程分享
May 26 PHP
2014年10个最佳的PHP图像操作库
Jul 14 PHP
C#静态方法与非静态方法实例分析
Sep 22 PHP
PHP查询大量数据内存耗尽问题的解决方法
Oct 28 PHP
ThinkPHP Where 条件中常用表达式示例(详解)
Mar 31 PHP
关于ThinkPhp 框架表单验证及ajax验证问题
Jul 19 PHP
基于CI(CodeIgniter)框架实现购物车功能的方法
Apr 09 PHP
php-app开发接口加密详解
Apr 18 PHP
在Laravel中实现使用AJAX动态刷新部分页面
Oct 15 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 stristr() 函数(不区分大小写的字符串查找)
2010/06/03 PHP
9个经典的PHP代码片段分享
2014/12/18 PHP
PHP Socket网络操作类定义与用法示例
2017/08/30 PHP
PHPUnit测试私有属性和方法功能示例
2018/06/12 PHP
PHP实现带进度条的Ajax文件上传功能示例
2019/07/02 PHP
laravel框架路由分组,中间件,命名空间,子域名,路由前缀实例分析
2020/02/18 PHP
javascript window对象属性整理
2009/10/24 Javascript
jquery中的sortable排序之后的保存状态的解决方法
2010/01/28 Javascript
jquery.lazyload  实现图片延迟加载jquery插件
2010/02/06 Javascript
浅析javascript闭包 实例分析
2010/12/25 Javascript
jQuery实现鼠标滑过遮罩并高亮显示效果
2013/07/16 Javascript
js单词形式的运算符
2014/05/06 Javascript
JS iFrame加载慢怎么解决
2016/05/13 Javascript
Bootstrap Tree View简单而优雅的树结构组件实例解析
2017/06/15 Javascript
Javascript之图片的延迟加载的实例详解
2017/07/24 Javascript
node.js使用免费的阿里云ip查询获取ip所在地【推荐】
2018/09/03 Javascript
JS数组扁平化(flat)方法总结详解
2019/06/24 Javascript
JS实现打砖块游戏
2020/02/14 Javascript
js实现验证码干扰(静态)
2021/02/22 Javascript
一个基于flask的web应用诞生 用户注册功能开发(5)
2017/04/11 Python
python实现批量修改文件名代码
2017/09/10 Python
Python cookbook(数据结构与算法)实现对不原生支持比较操作的对象排序算法示例
2018/03/15 Python
详解Python3 中hasattr()、getattr()、setattr()、delattr()函数及示例代码数
2018/04/18 Python
python3基于OpenCV实现证件照背景替换
2018/07/18 Python
用Python实现筛选文件脚本的方法
2018/10/27 Python
使用python的pyplot绘制函数实例
2020/02/13 Python
Python rabbitMQ如何实现生产消费者模式
2020/08/24 Python
初一生物教学反思
2014/01/18 职场文书
个人党性剖析材料
2014/02/03 职场文书
2014法制宣传日活动总结
2014/07/09 职场文书
司机岗位职责说明书
2014/07/29 职场文书
中学生思想品德评语
2014/12/31 职场文书
公司出差管理制度范本
2015/08/05 职场文书
2016年教师党员公开承诺书
2016/03/24 职场文书
Python+腾讯云服务器实现每日自动健康打卡
2021/12/06 Python