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 相关文章推荐
Dedecms V3.1 生成HTML速度的优化办法
Mar 18 PHP
php中判断文件存在是用file_exists还是is_file的整理
Sep 12 PHP
如何获知PHP程序占用多少内存(memory_get_usage)
Sep 23 PHP
$_GET['goods_id']+0 的使用详解
Jun 06 PHP
PHP操作Memcache实例介绍
Jun 14 PHP
CURL状态码列表(详细)
Jun 27 PHP
php实现在限定区域里自动调整字体大小的类实例
Apr 02 PHP
PHP表单提交后引号前自动加反斜杠的原因及三种办法关闭php魔术引号
Sep 30 PHP
Zend Framework入门教程之Zend_Session会话操作详解
Dec 08 PHP
PHP设计模式之注册树模式分析
Jan 26 PHP
laravel 验证错误信息到 blade模板的方法
Sep 29 PHP
一文搞懂php的垃圾回收机制
Jun 18 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 获取客户端的真实ip
2009/11/30 PHP
PHP获取php,mysql,apche的版本信息示例代码
2014/01/16 PHP
php利用新浪接口查询ip获取地理位置示例
2014/01/20 PHP
PHP安装memcached扩展笔记
2015/05/28 PHP
php如何连接sql server
2015/10/16 PHP
yii2学习教程之5种内置行为类详解
2017/08/03 PHP
jquery lazyload延迟加载技术的实现原理分析
2011/01/24 Javascript
JS实现程序暂停与继续功能代码解读
2013/10/10 Javascript
JavaScript实现防止网页被嵌入Frame框架的代码分享
2014/12/29 Javascript
JavaScript制作简易的微信打飞机
2015/03/31 Javascript
浅谈JavaScript的Polymer框架中的事件绑定
2015/07/29 Javascript
PhantomJS快速入门教程(服务器端的 JavaScript API 的 WebKit)
2015/08/06 Javascript
原生JS查找元素的方法(推荐)
2016/11/22 Javascript
vue如何根据网站路由判断页面主题色详解
2018/11/02 Javascript
vue+高德地图写地图选址组件的方法
2019/05/18 Javascript
Vue中this.$nextTick的作用及用法
2020/02/04 Javascript
JavaScript 空间坐标的使用
2020/08/19 Javascript
Vue指令实现OutClick的示例
2020/11/16 Javascript
利用pyinstaller将py文件打包为exe的方法
2018/05/14 Python
python实现下载pop3邮件保存到本地
2018/06/19 Python
Python3+Appium实现多台移动设备操作的方法
2019/07/05 Python
Python的log日志功能及设置方法
2019/07/11 Python
Python批量获取并保存手机号归属地和运营商的示例
2020/10/09 Python
CSS3正方体旋转示例代码
2013/08/08 HTML / CSS
CSS3使用border-radius属性制作圆角
2014/12/22 HTML / CSS
施华洛世奇水晶荷兰官方网站:SWAROVSKI荷兰
2017/05/12 全球购物
大学生预备党员自我评价分享
2013/11/16 职场文书
大学生职业生涯规划书模板
2014/01/18 职场文书
2014年出纳工作总结与计划
2014/12/09 职场文书
会计岗位职责
2015/02/03 职场文书
2015年小学校长工作总结
2015/05/19 职场文书
2015年银行信贷员工作总结
2015/05/19 职场文书
导游词之崇武古城
2019/10/07 职场文书
C站最全Python标准库总结,你想要的都在这里
2021/07/03 Python
docker-compose部署Yapi的方法
2022/04/08 Servers
Win10鼠标宏怎么设置?win10系统鼠标宏的设置方法
2022/08/14 数码科技