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 编写大型网站问题集
May 07 PHP
PHP中文处理 中文字符串截取(mb_substr)和获取中文字符串字数
Nov 10 PHP
php树型类实例
Dec 05 PHP
phpmyadmin提示The mbstring extension is missing的解决方法
Dec 17 PHP
PHP中抽象类、接口的区别与选择分析
Mar 29 PHP
php倒计时出现-0情况的解决方法
Jul 28 PHP
php实现基于pdo的事务处理方法示例
Jul 21 PHP
PHP多进程编程之僵尸进程问题的理解
Oct 15 PHP
PHP实现图片压缩
Sep 09 PHP
PHP切割整数工具类似微信红包金额分配的思路详解
Sep 18 PHP
Laravel获取所有的数据库表及结构的方法
Oct 10 PHP
Yii框架Session与Cookie使用方法示例
Oct 14 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 session
2013/10/28 PHP
PHP中new static()与new self()的区别异同分析
2014/08/22 PHP
PHP+MySQL修改记录的方法
2015/01/21 PHP
PHP判断是否连接上网络的方法
2015/07/01 PHP
php 输出缓冲 Output Control用法实例详解
2020/03/03 PHP
通过PHP的Wrapper无缝迁移原有项目到新服务的实现方法
2020/04/02 PHP
JS判断不同分辨率调用不同的CSS样式文件实现思路及测试代码
2013/01/23 Javascript
js页面跳转的问题(跳转到父页面、最外层页面、本页面)
2013/08/14 Javascript
JS将数字转换成三位逗号分隔的样式(示例代码)
2014/02/19 Javascript
$(document).ready(function() {})不执行初始化脚本
2014/06/19 Javascript
Javascript基础教程之数据类型 (数值 Number)
2015/01/18 Javascript
jquery制作多功能轮播图插件
2015/04/02 Javascript
jquery移动点击的项目到列表最顶端的方法
2015/06/24 Javascript
Javascript 计算字符串在localStorage中所占字节数
2015/10/21 Javascript
jQuery解析json格式数据简单实例
2016/01/22 Javascript
简单实现JS倒计时效果
2016/12/23 Javascript
JavaScript箭头函数_动力节点Java学院整理
2017/06/28 Javascript
jQuery 操作 HTML 元素和属性的方法
2018/11/12 jQuery
使用Python内置的模块与函数进行不同进制的数的转换
2016/03/12 Python
Python字符串拼接、截取及替换方法总结分析
2016/04/13 Python
django轻松使用富文本编辑器CKEditor的方法
2017/03/30 Python
Python绘制堆叠柱状图的实例
2019/07/09 Python
python的常见矩阵运算(小结)
2019/08/07 Python
Python监控服务器实用工具psutil使用解析
2019/12/19 Python
在jupyter notebook中调用.ipynb文件方式
2020/04/14 Python
python中upper是做什么用的
2020/07/20 Python
Europcar葡萄牙:葡萄牙汽车和货车租赁
2017/10/13 全球购物
Viking比利时:购买办公用品
2019/10/30 全球购物
大专毕业生自我鉴定
2013/11/21 职场文书
汇源肾宝广告词
2014/03/20 职场文书
《数星星的孩子》教学反思
2014/04/11 职场文书
2014年体育教师工作总结
2014/12/03 职场文书
淘宝好评语句大全
2014/12/31 职场文书
《普罗米修斯》教学反思
2016/02/22 职场文书
七年级作文之雪景
2019/11/18 职场文书
java代码实现空间切割
2022/01/18 Java/Android