基於linnux+phantomjs實現產生圖片格式的網頁快照_PHP

來源:互聯網
上載者:User
關鍵字 phantomjs phantomjs截圖 產生網
安裝擴充:
(1)下面是我在linux上的安裝過程,如果沒有安裝git請先yum install git
安裝casperjs

代碼如下:


cd /
git clone git://github.com/n1k0/casperjs.git
cd casperjs
ln -sf /casperjs/bin/casperjs /usr/local/bin/casperjs //可以忽略 實際執行中php是執行 /casperjs/bin/casperjs



(2)安裝phantomjs,下載地址:http://phantomjs.org/download.html
下載後操作很簡單,直接把解壓好的\bin\phantomjs移動到\usr\local\bin\phantomjs就可以了。\
測試phantomjs --version 有結果不報錯,說明安裝OK

(3)安裝字型
1. 首先獲得一套“微軟雅黑”字型庫(Google一下一大把),包含兩個檔案msyh.ttf(普通)、msyhbd.ttf(加粗);
2. 在/usr/share/fonts目錄下建立一個子目錄,例如win,命令如下:

代碼如下:


# mkdir /usr/share/fonts/win

3. 將msyh.ttf和msyhbd.ttf複製到該目錄下,例如這兩個檔案放在/root/Desktop下,使用命令:

代碼如下:


# cd /root/Desktop
# cp msyh.ttf msyhbd.ttf /usr/share/fonts/win/

4. 建立字型索引資訊,更新字型緩衝:

代碼如下:


# cd /usr/share/fonts/win
# mkfontscale (如果提示 mkfontscale: command not found,需自行安裝 # yum install mkfontscale )
# mkfontdir
# fc-cache (如果提示 fc-cache: command not found,則需要安裝# yum install fontconfig )

至此,字型已經安裝完畢!

<?php   if (isset($_GET['url']))   {     set_time_limit(0);       $url = trim($_GET['url']);     $filePath = md5($url).'.png';     if (is_file($filePath))     {       exit($filePath);     }      //如果不加這句就會報錯“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);   } ?>          快照產生             

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(); });

以上所述就是本文的全部內容了,希望大家能夠喜歡。

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.