我要明确的回答使用php生成网站缩略图是不可能完成的任务。

那为什么我标题还要用“php生成网站缩略图”,那是因为我们可以用php作为接口,通过页面传入参数来调用后台生成网页的缩略图。

由于太费资源这个功能已经关闭了,但是原理还是如下描述。

比如这个样子:http://thumb.quancha.cn/api.php?q=www.redis.com.cn

你就能得到中通速递单号查询 www.redis.com.cn的缩略图

很简单吧。把www.redis.com.cn换成你需要的网址就可以了,第一次生成的时候需要等待十几秒,然后刷新页面就可以了。

上面只是个使用实例,那最关键的部分是如何实现这个实例。

其中用到的技术包括php+redis的队列,php缩略图工具,c++ linux网页缩略图程序(使用webkit)。

要实现这个缩略图功能需要你有一台装有linux系统vps(本文使用的是centos6.2),如果单单一个虚拟目录的网站是实现不了的。

centos安装有点麻烦,不过按照以下步骤即可:

wget https://github.com/raphaelcruzeiro/webimage/archive/master.zip

unzip master

cd webimage-master/

vim snapshot.cpp

1

2

3

4wgethttps://github.com/raphaelcruzeiro/webimage/archive/master.zip

unzipmaster

cdwebimage-master/

vimsnapshot.cpp

注释掉snapshot.cpp中缩略图项,默认会生成一张大一张小的缩略图

/*outputFilename->chop(4);

QString thumbFilename = QString("%1_thumb.jpg").arg(*outputFilename);

QSize thumbSize((minWidth / 100) * 50, (height / 100) * 50);

pix =pix.scaled(thumbSize, Qt::KeepAspectRatio);

if (pix.save(thumbFilename, "JPEG", quality)) {

qDebug() << "Saved thumb.";

}*/

1

2

3

4

5

6

7

8

9/*outputFilename->chop(4);

QString thumbFilename = QString("%1_thumb.jpg").arg(*outputFilename);

QSize thumbSize((minWidth / 100) * 50, (height / 100) * 50);

pix =pix.scaled(thumbSize, Qt::KeepAspectRatio);

if (pix.save(thumbFilename, "JPEG", quality)) {

qDebug() << "Saved thumb.";

}*/

yum install Xvfb

yum install xorg-x11-fonts*

vim /etc/yum.repos.d/atrpms-testing.repo

增加如下内容

[atrpms-testing]

name=EL $releasever - $basearch - ATrpms

baseurl=http://dl.atrpms.net/el$releasever-$basearch/atrpms/testing

gpgkey=http://ATrpms.net/RPM-GPG-KEY.atrpms

gpgcheck=1

enabled=0

rpm --import http://packages.atrpms.net/RPM-GPG-KEY.atrpms

yum --enablerepo=atrpms-testing install qt47-webkit-devel qt47-devel sqlite

vim /etc/profile.d/qt.sh

export PATH=$PATH:/usr/lib/qt47/bin

export QMAKE=/usr/lib/qt47/bin/qmake-qt47

qmake webimage.pro

make all Makefile

xvfb-run --server-args="-screen 0, 1024x768x24" ./webimage http://www.redis.com.cn output.jpg 1024

就可以以1024分辨率生成一张网站的全幅缩略图。如果你的缩略图有中文方块乱码,则需要安装中文支持

yum groupinstall chinese-support

如果你的机器上有图形化界面也可以不用安装xvfb。

2.安装缩略图工具

因为webimage生成的是一整张缩略图,需要使用缩略图工具来生成合适的大小,EvaThumber 是一个不错的工具。

EvaThumber有详细的网页介绍http://avnpc.com/pages/evathumber

照着做就行了,这里只说一点,EvaThumber使用Travis CI进行持续集成,需要先给php安装composer

$ curl -sS https://getcomposer.org/installer | php

$ sudo mv composer.phar /usr/local/bin/composer

3.安装redis

4.前台php代码

...待续

php生成网页缩略图接口,php生成网站缩略图相关推荐

  1. 网站缩略图在线生成PHP源码

    介绍: 网站缩略图生成源码是一个强大实用的免费网站缩略图在线生成服务站,它能够在短短的几秒钟内,透过您所输入的网址请求,产生该网站或网页的缩图. 无需注册就可以使用,上传即可用,分享素材的必备源码! ...

  2. 【下载源码】在线生成网页缩略图.超越Snap.com:WebSnap Beta 1.1 发布。感谢博客园的“萧寒”重写的底层。开源。

    [下载源码]在线生成网页缩略图.超越Snap.com:WebSnap Beta 1.1 发布.感谢博客园的"萧寒"重写的底层.开源. DEMO网址:http://www.365rs ...

  3. cgi脚本_如何使用CGI脚本生成网页

    cgi脚本 在我最初创建自己的第一个商业网站的互联网时代,生活是美好的. 我安装了Apache,并创建了一些简单HTML页面,这些页面陈述了有关我的业务的一些重要内容,并提供了重要信息,例如产品概述以 ...

  4. 在网页中动态的生成一个gif图片

    作者: love.net 大家知道股票网站的K线图是动态生成的定时刷新PHP 就有动态生成图片的功能 那么怎样用asp.net在网页中动态的生成一个图片呢? 下面我要举的例子是动态的生成一个图片显示当 ...

  5. 干掉 Postman?测试接口直接生成API文档,这个文档工具真香!

    欢迎关注方志朋的博客,回复"666"获面试宝典 实不相瞒我的收藏夹里躺着很多优质的开源项目,我有个爱好平时遇到感兴趣的开源项目都会记录下来,然后有时间在慢慢研究.前几天刚给同事分享 ...

  6. 干掉Postman?测试接口直接生成API文档,这工具强烈推荐!

    最近被身边几个做开发的朋友安利了一款国产的 API 开发调试神器,真的有被惊艳到!!!简直不要太好用! 没想到,中国也有了比 Postman 还好用的软件! 这个 API 开发调试神器就是 ApiPo ...

  7. php生成网页桌面快捷方式

    本文将介绍使用PHP生成网页桌面快捷方式的代码,并添加图标及解决不同浏览器保存出现的乱码问题. 我们访问网站时,如果网站的内容很有吸引,一般我们都会使用浏览器的收藏夹功能,收藏此网站. 在浏览器收藏的 ...

  8. java扫描接口_一种扫描接口并生成可调用API接口文档的方法与流程

    本发明属于JavaWeb开发技术领域,涉及一种API接口文档的生成方法,尤其是一种扫描接口并生成可调用API接口文档的方法. 背景技术: API(Application Programming Int ...

  9. php生成手机桌面快捷方式,php生成网页桌面快捷方式

    本文将介绍使用PHP生成网页桌面快捷方式的代码,并添加图标及解决不同浏览器保存出现的乱码问题. 我们访问网站时,如果网站的内容很有吸引,一般我们都会使用浏览器的收藏夹功能,收藏此网站. 在浏览器收藏的 ...

最新文章

  1. 【哈渡谱】带你玩转Hadoop之《主机映射、镜像挂载与SSH免密篇》
  2. AWS Device Farm介绍及Appium踩过的坑
  3. 被swoole坑哭的PHP程序员
  4. Android开源音视频播放器
  5. 人脸识别python face_recognize_【python+face_recognition】人脸识别初始
  6. TFS自定义开发中的反射应用
  7. defer和async属性详解
  8. 那些鼓吹国内首个.NET 5框架的,该醒醒了!
  9. P3246 [HNOI2016]序列 莫队 + ST表 + 单调栈
  10. 个人推荐的SIP software Phone
  11. c语言朋友,[原创]写给初学 c语言的朋友
  12. 【LeetCode笔记】160. 相交链表(Java、链表)
  13. 人民网留言板数据集(37万余条)
  14. 计算机c盘用户里的APPDATA,Windows7系统C盘中的appdata文件夹是否可以删除
  15. 《自控力》 第三章读书笔记
  16. 如何打破校园网垄断现象?
  17. excel运行时出现正在等待其他应用程序的OKE操作完了
  18. Permission denied: user=dr.who, access=WRITE, inode=“/“:root:supergroup:drwxr-xr-x
  19. 详解什么是Polygon跨链桥
  20. NAXX Demo4_GZQ_01

热门文章

  1. python花括号代替缩进_Python 为什么甩掉累赘的花括号,使用缩进来划分代码块?...
  2. 64位c语言调用32位glibc,glibc fclose源代码阅读及伪造_IO_FILE利用fclose实现任意地址执行...
  3. Pytest+Allure+Jenkins接口自动化项目实战(一)
  4. 不同操作系统上DNS客户端操作区别汇总
  5. [转]动态规划DP的分类
  6. hdu 3641 数论 二分求符合条件的最小值数学杂题
  7. android Intent和IntentFilter
  8. WCF部署到IIS不使用svc文件
  9. zoj1738 Lagrange's Four-Square Theorem(DP)
  10. 找不到visual studio模板信息 解决方法