php使用CutyCapt实现网页截图保存的方法

 更新时间:2016年10月03日 09:34:39   作者:smiling  
这篇文章主要介绍了php使用CutyCapt实现网页截图保存的方法,结合实例形式详细分析了CutyCapt的下载、安装及php使用CutyCapt进行截图与保存的相关操作技巧,需要的朋友可以参考下

本文实例讲述了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://www.jb51.net
*/
$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://www.jb51.net--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基本语法入门教程》、《PHP运算与运算符用法总结》、《php面向对象程序设计入门教程》、《PHP网络编程技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

相关文章

  • 浅谈如何提高PHP代码质量之单元测试

    浅谈如何提高PHP代码质量之单元测试

    最常见的测试软件的方法可能是编写单元测试。它们的目的是测试代码的特定单元,基于这样的假设:一切都按预期运行。为了能够编写适当的单元测试,我们的代码应该遵循一些基本的设计规则。我们应该特别关注 SOLID 原则。
    2021-05-05
  • PHP+redis实现的购物车单例类示例

    PHP+redis实现的购物车单例类示例

    这篇文章主要介绍了PHP+redis实现的购物车单例类,涉及php连接、操作redis数据库及购物车功能相关定义与使用技巧,需要的朋友可以参考下
    2019-02-02
  • Linux平台php命令行程序处理管道数据的方法

    Linux平台php命令行程序处理管道数据的方法

    这篇文章主要介绍了Linux平台php命令行程序处理管道数据的方法,结合实例形式分析了Linux平台管道提示符的功能及php使用命令行处理管道数据的相关实现技巧,需要的朋友可以参考下
    2016-11-11
  • 基于PHP实现堆排序原理及实例详解

    基于PHP实现堆排序原理及实例详解

    这篇文章主要介绍了基于PHP实现堆排序原理及实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06
  • 收集的DedeCMS一些使用经验

    收集的DedeCMS一些使用经验

    收集的DedeCMS一些使用经验...
    2007-03-03
  • PHP Reflection API详解

    PHP Reflection API详解

    这篇文章主要介绍了PHP Reflection API详解,本文讲解了Reflection类、ReflectionException类、ReflectionFunction类、ReflectionParameter类、ReflectionClass类、ReflectionMethod类等内容,需要的朋友可以参考下
    2015-05-05
  • PHP面向对象程序设计之类常量用法实例

    PHP面向对象程序设计之类常量用法实例

    这篇文章主要介绍了PHP面向对象程序设计之类常量用法,是PHP面向对象程序设计中非常重要的一个概念,对于PHP初学者来说更是有必要加以牢固掌握,需要的朋友可以参考下
    2014-08-08
  • 如何使用Casbin作为ThinkPHP的权限控制中间件

    如何使用Casbin作为ThinkPHP的权限控制中间件

    本文介绍了如何使用Casbin作为ThinkPHP的权限控制中间件,感兴趣的同学,可以参考下,理解其原理。
    2021-05-05
  • php5中类的学习

    php5中类的学习

    类的结构: 类的内部能可能有三种东西,就是常量(constant),属性(property)和方法(method),功能可以理解成类外部的常量,变量和函数。
    2008-03-03
  • PHP之变量、常量学习笔记

    PHP之变量、常量学习笔记

    亲密接触PHP之变量、常量学习笔记(阅读笔记自PHP手册) PHP 中一个美元符号($)后面跟上一个变量名称,即表示一个变量。变量的名称是对大小写敏感的。其中变量名允许数字或下划线打头。
    2008-03-03

最新评论