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应用程序来获取Web服务器的状态信息
Oct 09 PHP
Apache2中实现多网站域名绑定的实现方法
Jun 01 PHP
PHP缓存技术的使用说明
Aug 06 PHP
基于php使用memcache存储session的详解
Jun 25 PHP
php计算两个日期相差天数的方法
Mar 14 PHP
php实现读取和写入tab分割的文件
Jun 01 PHP
laravel中的错误与日志用法详解
Jul 26 PHP
PHP中文字符串截断无乱码解决方法
Oct 10 PHP
php正则判断是否为合法身份证号的方法
Mar 16 PHP
PHP正则+Snoopy抓取框架实现的抓取淘宝店信誉功能实例
May 17 PHP
浅析PHP中的闭包和匿名函数
Dec 25 PHP
PHP ADODB实现分页功能简单示例
May 25 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 读取文件头判断文件类型的实现代码
2013/08/05 PHP
java微信开发之上传下载多媒体文件
2016/06/24 PHP
PHP实现的大文件切割与合并功能示例
2018/04/10 PHP
Laravel框架实现调用百度翻译API功能示例
2019/05/30 PHP
特殊字符、常规符号及其代码对照表
2006/06/26 Javascript
jQuery ajax(复习)—Baidu ajax request分离版
2013/01/24 Javascript
常见表单重复提交问题整理及解决方法
2013/11/13 Javascript
JS实现页面超时后自动跳转到登陆页面
2015/01/19 Javascript
JQuery实现简单的图片滑动切换特效
2015/11/22 Javascript
浅谈gulp创建完整的项目流程
2017/12/20 Javascript
angular项目中bootstrap-datetimepicker时间插件的使用示例
2018/03/15 Javascript
vue使用Element组件时v-for循环里的表单项验证方法
2018/06/28 Javascript
Vue数字输入框组件使用方法详解
2020/02/10 Javascript
vue 输入电话号码自动按3-4-4分割功能的实现代码
2020/04/30 Javascript
Jquery滑动门/tab切换实现方法完整示例
2020/06/05 jQuery
详解微信小程序(Taro)手动埋点和自动埋点的实现
2021/03/02 Javascript
Python聊天室实例程序分享
2016/01/05 Python
浅析AST抽象语法树及Python代码实现
2016/06/06 Python
Python使用Selenium+BeautifulSoup爬取淘宝搜索页
2018/02/24 Python
解决python写入mysql中datetime类型遇到的问题
2018/06/21 Python
Selenium chrome配置代理Python版的方法
2018/11/29 Python
对pyqt5之menu和action的使用详解
2019/06/20 Python
Django实现微信小程序的登录验证功能并维护登录态
2019/07/04 Python
python list数据等间隔抽取并新建list存储的例子
2019/11/27 Python
Python PyInstaller库基本使用方法分析
2019/12/12 Python
python时间日期操作方法实例小结
2020/02/06 Python
Tensorflow中的dropout的使用方法
2020/03/13 Python
基于python实现简单网页服务器代码实例
2020/09/14 Python
简单几步用纯CSS3实现3D翻转效果
2019/01/17 HTML / CSS
通过css3的filter滤镜改变png图片的颜色的示例代码
2020/05/06 HTML / CSS
捷克领先的户外服装及配件市场零售商:ALPINE PRO
2018/01/09 全球购物
美国在线咖啡、茶和餐厅供应商:LollicupStore
2018/05/04 全球购物
Lampenwelt德国:欧洲领先的灯具和照明在线商店
2018/08/05 全球购物
美国二手复古奢侈品包包购物网站:LXRandCo
2019/06/18 全球购物
无犯罪记录证明范本
2014/09/15 职场文书
企业管理不到位检讨书
2019/06/27 职场文书