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 相关文章推荐
cache_lite试用
Feb 14 PHP
php用数组返回无限分类的列表数据的代码
Aug 08 PHP
php对二维数组进行排序的简单实例
Dec 19 PHP
ThinkPHP实现将SESSION存入MYSQL的方法
Jul 22 PHP
PHP curl 抓取AJAX异步内容示例
Sep 09 PHP
php站内搜索关键词变亮的实现方法
Dec 30 PHP
PHP 生成N个不重复的随机数
Jan 21 PHP
php使用指定字符列表生成随机字符串的方法
Apr 18 PHP
PHP经典面试题之设计模式(经常遇到)
Oct 15 PHP
php检查函数必传参数是否存在的实例详解
Aug 28 PHP
PHP获取链表中倒数第K个节点的方法
Jan 18 PHP
php链式操作的实现方式分析
Aug 12 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+js iframe实现上传头像界面无跳转
2014/04/29 PHP
php根据一个给定范围和步进生成数组的方法
2015/06/19 PHP
PHP验证类的封装与使用方法详解
2019/01/10 PHP
关于php开启错误提示的总结
2019/09/24 PHP
html 锁定页面(js遮罩层弹出div效果)
2009/10/27 Javascript
不同浏览器对回车提交表单的处理办法
2010/02/13 Javascript
javascript中全局对象的parseInt()方法使用介绍
2013/12/19 Javascript
jquery实现将获取的颜色值转换为十六进制形式的方法
2014/12/20 Javascript
jQuery+Ajax实现无刷新操作
2016/01/04 Javascript
jquery插件bootstrapValidator数据验证详解
2016/11/09 Javascript
Vue.js 2.0 移动端拍照压缩图片预览及上传实例
2017/04/27 Javascript
jQuery tip提示插件(实例分享)
2017/04/28 jQuery
ExtJs异步无法向外传值和赋值的完美解决办法
2017/06/14 Javascript
requirejs + vue 项目搭建详解
2017/06/16 Javascript
禁止弹窗中蒙层底部页面跟随滚动的几种方法
2017/12/07 Javascript
vue-cli 引入jQuery,Bootstrap,popper的方法
2018/09/03 jQuery
BootStrap表单验证中的非Submit类型按钮点击时触发验证的坑
2019/09/05 Javascript
如何基于filter实现网站整体变灰功能
2020/04/17 Javascript
python编程线性回归代码示例
2017/12/07 Python
python多行字符串拼接使用小括号的方法
2020/03/19 Python
Django网络框架之创建虚拟开发环境操作示例
2019/06/06 Python
对python3中的RE(正则表达式)-详细总结
2019/07/23 Python
python -v 报错问题的解决方法
2020/09/15 Python
python中random.randint和random.randrange的区别详解
2020/09/20 Python
css3使网页、图片变成灰色兼容大多数浏览器
2014/07/02 HTML / CSS
IE浏览器单独写CSS样式的几种方法
2014/10/14 HTML / CSS
Canvas制作旋转的太极的示例
2018/03/09 HTML / CSS
俄罗斯玩具、儿童用品、儿童服装和鞋子网上商店:MyToys.ru
2019/10/14 全球购物
为您搜罗全球潮流時尚品牌:HBX
2019/12/04 全球购物
个人实用简单的自我评价
2013/10/19 职场文书
医学专业五年以上个人求职信
2013/12/03 职场文书
艺术设计专业求职自荐信
2014/05/19 职场文书
个人四风对照检查材料
2014/09/26 职场文书
Pytest中skip和skipif的具体使用方法
2021/06/30 Python
Python中request的基本使用解决乱码问题
2022/04/12 Python
Linux中sftp常用命令整理
2022/06/28 Servers