php中CutyCapt实现网页截图保存代码

网页截图这个功能大家可能用到最多的就是QQ截图,或利用asp.net来实现截图,其实我们也可以直接使用php来网页截图,下面我来给大家介绍php利用CutyCapt实现网页截图,有需要的朋友可参考.

CutyCapt下载地址:http://sourceforge.net/projects/cutycapt/files/cutycapt/

windows CutyCapt不需要安装,直接保存到你的电脑中即可,然后php代码如下写:

  1. <?php
  2. /*
  3. 网页截图功能,必须安装IE+CutyCapt
  4. url:要截图的网页
  5. out:图片保存路径
  6. path:CutyCapt路径
  7. cmd:CutyCapt执行命令
  8. 比如:http://你php路径.php?url=http://www.phpfensi.com
  9. */
  10. $url=$_GET["url"];
  11. $imgname=str_replace('http://','',$url);
  12. $imgname=str_replace('https://','',$imgname);
  13. $imgname=str_replace('.','-',$imgname);
  14. $out = 'D:/webroot/test/'.$imgname.'.png';
  15. $path = 'D:/webserver/CutyCapt.exe';
  16. $cmd = "$path --url=$url --out=$out";
  17. echo $cmd;
  18. system($cmd);
  19. ?>

如果你是linux系统就需要简单的配置一下CutyCapt,安装网站截图软件CutyCapt.

一,先安装Qt47,增加qt47的下载源,代码如下:

  1. vi /etc/yum.repos.d/atrpms.repo
  2. [atrpms]
  3. name=CentOS $releasever – $basearch – ATrpms
  4. baseurl=http://dl.atrpms.net/el$releasever-$basearch/atrpms/stable
  5. gpgkey=http://ATrpms.net/RPM-GPG-KEY.atrpms
  6. gpgcheck=1
  7. enabled=1
  8. [atrpms-testing]
  9. name=CentOS $releasever – $basearch – ATrpms testing
  10. baseurl=http://dl.atrpms.net/el$releasever-$basearch/atrpms/testing
  11. gpgkey=http://ATrpms.net/RPM-GPG-KEY.atrpms
  12. gpgcheck=1
  13. enabled=1
  14. yum update
  15. yum installqt47
  16. yum installqt47-devel
  17. yum installqt47-webkit
  18. yum installqt47-webkit-devel

也许这里还会有报错提示:

  1. warning: qt44-x11-4.4.3-10_4.el5.x86_64.rpm: Header V4 DSA signature: NOKEY, key ID 66534c2b
  2. error: Failed dependencies:
  3. libGLU.so.1()(64bit) is needed by qt44-x11-4.4.3-10_4.el5.x86_64
  4. libmng.so.1()(64bit) is needed by qt44-x11-4.4.3-10_4.el5.x86_64
  5. //解决:
  6. //yum -y installqt-devel*

二,安装 CutyCapt,代码如下:

  1. cd /data0/software
  2. svn co https://cutycapt.svn.sourceforge.net/svnroot/cutycapt
  3. mv cutycapt/CutyCapt /usr/local/cutycapt
  4. cd /usr/local/cutycapt
  5. qmake
  6. 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=http://www.111cn.net--out=/tmp/163.jpg

163.jpg没有加载出flash.

七,下载64位flash插件,代码如下:

  1. cd /data0/software
  2. #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
  3. <a href="http://ishare.iask.sina.com.cn/f/13659493.html" target="_blank">http://ishare.iask.sina.com.cn/f/13659493.html</a>
  4. ll /usr/lib64/mozilla/plugins/
  5. lrwxrwxrwx 1 root root 41 06-27 14:00 libflashplayer.so ->/usr/lib64/flash-plugin/libflashplayer.so
  6. cp /data0/software/libflashplayer.so /usr/lib64/flash-plugin/

测试加载成功.