php生成网页缩略图接口,php生成网站缩略图
我要明確的回答使用php生成網(wǎng)站縮略圖是不可能完成的任務(wù)。
那為什么我標(biāo)題還要用“php生成網(wǎng)站縮略圖”,那是因?yàn)槲覀兛梢杂胮hp作為接口,通過(guò)頁(yè)面?zhèn)魅雲(yún)?shù)來(lái)調(diào)用后臺(tái)生成網(wǎng)頁(yè)的縮略圖。
由于太費(fèi)資源這個(gè)功能已經(jīng)關(guān)閉了,但是原理還是如下描述。
比如這個(gè)樣子:http://thumb.quancha.cn/api.php?q=www.redis.com.cn
你就能得到中通速遞單號(hào)查詢 www.redis.com.cn的縮略圖
很簡(jiǎn)單吧。把www.redis.com.cn換成你需要的網(wǎng)址就可以了,第一次生成的時(shí)候需要等待十幾秒,然后刷新頁(yè)面就可以了。
上面只是個(gè)使用實(shí)例,那最關(guān)鍵的部分是如何實(shí)現(xiàn)這個(gè)實(shí)例。
其中用到的技術(shù)包括php+redis的隊(duì)列,php縮略圖工具,c++ linux網(wǎng)頁(yè)縮略圖程序(使用webkit)。
要實(shí)現(xiàn)這個(gè)縮略圖功能需要你有一臺(tái)裝有l(wèi)inux系統(tǒng)vps(本文使用的是centos6.2),如果單單一個(gè)虛擬目錄的網(wǎng)站是實(shí)現(xiàn)不了的。
centos安裝有點(diǎn)麻煩,不過(guò)按照以下步驟即可:
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中縮略圖項(xiàng),默認(rèn)會(huì)生成一張大一張小的縮略圖
/*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
增加如下內(nèi)容
[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分辨率生成一張網(wǎng)站的全幅縮略圖。如果你的縮略圖有中文方塊亂碼,則需要安裝中文支持
yum groupinstall chinese-support
如果你的機(jī)器上有圖形化界面也可以不用安裝xvfb。
2.安裝縮略圖工具
因?yàn)閣ebimage生成的是一整張縮略圖,需要使用縮略圖工具來(lái)生成合適的大小,EvaThumber 是一個(gè)不錯(cuò)的工具。
EvaThumber有詳細(xì)的網(wǎng)頁(yè)介紹http://avnpc.com/pages/evathumber
照著做就行了,這里只說(shuō)一點(diǎn),EvaThumber使用Travis CI進(jìn)行持續(xù)集成,需要先給php安裝composer
$ curl -sS https://getcomposer.org/installer | php
$ sudo mv composer.phar /usr/local/bin/composer
3.安裝redis
4.前臺(tái)php代碼
...待續(xù)
總結(jié)
以上是生活随笔為你收集整理的php生成网页缩略图接口,php生成网站缩略图的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java http响应头,java –
- 下一篇: php实现论坛系统,详解PHP论坛实现系