您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關(guān)怎么在linnux中利用phantomjs實(shí)現(xiàn)一個(gè)生成圖片格式的網(wǎng)頁(yè)快照,小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話(huà)不多說(shuō),跟著小編一起來(lái)看看吧。
安裝擴(kuò)展:
(1)下面是我在linux上的安裝過(guò)程,如果沒(méi)有安裝git請(qǐng)先yum install git
安裝casperjs
復(fù)制代碼 代碼如下:
cd /
git clone git://github.com/n1k0/casperjs.git
cd casperjs
ln -sf /casperjs/bin/casperjs /usr/local/bin/casperjs //可以忽略 實(shí)際執(zhí)行中php是執(zhí)行 /casperjs/bin/casperjs
(2)安裝phantomjs,下載地址:http://phantomjs.org/download.html
下載后操作很簡(jiǎn)單,直接把解壓好的\bin\phantomjs移動(dòng)到\usr\local\bin\phantomjs就可以了。\
測(cè)試phantomjs --version 有結(jié)果不報(bào)錯(cuò),說(shuō)明安裝OK
(3)安裝字體
1. 首先獲得一套“微軟雅黑”字體庫(kù)(Google一下一大把),包含兩個(gè)文件msyh.ttf(普通)、msyhbd.ttf(加粗);
2. 在/usr/share/fonts目錄下建立一個(gè)子目錄,例如win,命令如下:
復(fù)制代碼 代碼如下:
# mkdir /usr/share/fonts/win
3. 將msyh.ttf和msyhbd.ttf復(fù)制到該目錄下,例如這兩個(gè)文件放在/root/Desktop下,使用命令:
復(fù)制代碼 代碼如下:
# cd /root/Desktop
# cp msyh.ttf msyhbd.ttf /usr/share/fonts/win/
4. 建立字體索引信息,更新字體緩存:
復(fù)制代碼 代碼如下:
# cd /usr/share/fonts/win
# mkfontscale (如果提示 mkfontscale: command not found,需自行安裝 # yum install mkfontscale )
# mkfontdir
# fc-cache (如果提示 fc-cache: command not found,則需要安裝# yum install fontconfig )
至此,字體已經(jīng)安裝完畢!
<?php if (isset($_GET['url'])) { set_time_limit(0); $url = trim($_GET['url']); $filePath = md5($url).'.png'; if (is_file($filePath)) { exit($filePath); } //如果不加這句就會(huì)報(bào)錯(cuò)“Fatal: [Errno 2] No such file or directory; did you install phantomjs?”,詳情參考http://mengkang.net/87.html putenv("PHANTOMJS_EXECUTABLE=/usr/local/bin/phantomjs"); $command = "phantomjs phantomjs.js {$url} {$filePath}"; @exec($command); exit($filePath); } ?> <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="keywords" content="" /> <meta name="description" content="" /> <title>快照生成</title> <script src="http://code.jquery.com/jquery-1.8.3.min.js"></script> <style> * {margin: 0; padding: 0; } form {padding: 20px; } div {margin: 20px 0 0; } input {width: 200px; padding: 4px 2px; } #placeholder {display: none; } </style> </head> <body> <form action="" id="form"> <input type="text" id="url" /> <button type="submit">生成快照</button> <div> <img src="" alt="" id="placeholder" /> </div> </form> <script> $(function(){ $('#form').submit(function(){ if (typeof($(this).data('generate')) !== 'undefined' && $(this).data('generate') === true) { alert('正在生成網(wǎng)站快照,請(qǐng)耐心等待...'); return false; } $(this).data('generate', true); $('button').text('正在生成快照...').attr('disabled', true); $.ajax({ type: 'GET', url: '?', data: 'url=' + $('#url').val(), success: function(data){ $('#placeholder').attr('src', data).show(); $('#form').data('generate', false); $('button').text('生成快照').attr('disabled', false); } }); return false; }); }); </script> </body> </html>
var page = require('webpage').create(); var args = require('system').args; var url = args[1]; var filename = args[2]; page.open(url, function () { page.render(filename); phantom.exit(); });
以上就是怎么在linnux中利用phantomjs實(shí)現(xiàn)一個(gè)生成圖片格式的網(wǎng)頁(yè)快照,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見(jiàn)到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。