亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

關于php如何調用phantomjs給微信小程序分享的問題

2020-03-22 17:52:55
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了關于關于php如何調用phantomjs給html' target='_blank'>微信小程序分享的問題,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

背景

CTO不讓我使用golang所以只好使用php調用phantomjs

packagist上的composer包功能很冗余,我只需要用到phantomjs的截圖功能

知識儲備

*unix系統安裝phantomjs,權限相關知識

基本JavaScript語法知識

php exec函數調用REPL phantomjs

phantomjs js截圖文檔 http://javascript.ruanyifeng....

代碼(php 代碼環境為yii2框架)
 ?phpnamespace weapp/library/phantomjs;use weapp/library/BizException;class ScreenShot /** @var string 獲取phantomjs 參數中 js文件的決定路徑 */ private $js_path; /** @var bool|string 獲取php 有777權限的臨時文件目錄 */ private $temp_dir; function __construct() $dir = __DIR__; $this- js_path = {$dir}/script.js  /** @var bool|string 獲取php 有777權限的臨時文件目錄 */ $this- temp_dir = /Yii::getAlias( @runtime  * 截圖并上傳 * @param string $url * @param string $filename * @return string * @throws BizException public function screenShotThenSaveToOss(string $url, string $filename = temp.jpg ) //輸出圖片的路徑 $outputFilePath = {$this- temp_dir}/$filename  //執行的phantomjs命令 //phantomjs 可執行文件必須是 絕對路徑 否則導致 exec 函數返回值127錯誤 $cmd = /usr/local/bin/phantomjs {$this- js_path} $url $outputFilePath  //捕捉不到phantomjs命令輸出結果 exec($cmd, $output); //檢查截圖文件是否存在 $isShotImgaeExist = file_exists($outputFilePath); if (!$isShotImgaeExist) { throw new BizException(0, phantomjs截圖失敗 , BizException::SELF_DEFINE); //保存截圖到oss $result = $this- postScreenShotImageToOss($outputFilePath); //刪除臨時文件夾的截圖圖片 unlink($outputFilePath); return $result;
$file = new /CURLFile($screenshot_path, image/jpeg , file $tokenArray = $this- getOssPolicyToken( fetch $url = $tokenArray- host; $postData = [ key = {$tokenArray- dir}/$ossKey , policy = $tokenArray- policy, OSSAccessKeyId = $tokenArray- accessid, success_action_status = 200 , signature = $tokenArray- signature, callback = $tokenArray- callback, file = $file $ch = curl_init(); //$data = array( name = Foo , file = @/home/user/test.png curl_setopt($ch, CURLOPT_URL, $url); // Disable SSL verification curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_SAFE_UPLOAD, true); // required as of PHP 5.6.0 curl_setopt($ch, CURLOPT_POSTFIELDS, $postData); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_TIMEOUT, 20); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 20); //curl_setopt($ch, CURLOPT_HTTPHEADER, [ Content-Type: $mime_type ]); $res = curl_exec($ch); $res = json_decode($res); curl_close($ch); if (empty($res) || $res- code != 0) { return } else { return $res- data- * 調用管理后臺阿里云oss token接口 * @param null $url * @return array public function getOssPolicyToken($url = null) $url = /Yii::$app- params[ oss_screen_shot_token_api $ch = curl_init(); // Disable SSL verification curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // Will return the response, if false it print the response curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // Set the url curl_setopt($ch, CURLOPT_URL, $url); // Execute $result = curl_exec($ch); // Closing curl_close($ch); $res = json_decode($result); if (empty($res) || $res- code != 0) { return []; } else { return $res- data;}
phantomjs javascript腳本內容
 use strict var system = require( system var webPage = require( webpage var page = webPage.create();//設置phantomjs的瀏覽器user-agentpage.settings.userAgent = Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1 //獲取php exec 函數的命令行參數if (system.args.length !== 3) { console.log(system.args); console.log( 參數錯誤  console.log( 第2個參數為url地址 第3個參數為截圖文件名稱  phantom.exit(1);//命令行 截圖網址參數var url = system.args[1];//圖片輸出路徑var filePath = system.args[2];console.log( ------- console.log(url);console.log( ------- console.log(filePath);console.log( ------- //設置瀏覽器視口page.viewportSize = {width: 480, height: 960};//打開網址page.open(url, function start(status) { //1000ms之后開始截圖 setTimeout(function () { //截圖格式為jpg 80%的圖片質量 page.render(filePath, {format: jpg , quality: 80  console.log( success  //退出phantomjs 避免phantomjs導致內存泄露 phantom.exit(); }, 1000);});
php調用phantomjs目錄結構

3184207835-5b28e6f5859bb_articlex[1].png

以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP !

相關推薦:

關于PHP管道插件 League/Pipeline的解析

關于利用Vue-laravel前端和后端分離寫一個博客的方法

以上就是關于php如何調用phantomjs給微信小程序分享的問題的詳細內容,PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美老少做受xxxx高潮| 成人av电影天堂| 91成人在线播放| 亚洲国产第一页| 国产婷婷97碰碰久久人人蜜臀| 精品日韩美女的视频高清| 精品成人69xx.xyz| 精品国产一区二区在线| 国产日韩精品视频| 91美女片黄在线观| 欧美国产日韩一区二区三区| 国产精品麻豆va在线播放| 日韩中文综合网| 久久香蕉精品香蕉| 久久亚洲精品毛片| 欧美成人全部免费| 国产成人精品在线观看| 日本精品va在线观看| 亚洲性线免费观看视频成熟| 精品亚洲国产成av人片传媒| 国产美女扒开尿口久久久| 青青久久aⅴ北条麻妃| 亚洲大尺度美女在线| 日韩暖暖在线视频| 成人福利网站在线观看| 97av在线播放| 午夜精品美女自拍福到在线| 欧美大秀在线观看| 九九精品视频在线观看| 福利一区福利二区微拍刺激| 亚洲人成电影在线观看天堂色| 国产免费一区二区三区香蕉精| 久久久久久久一| 亚洲影院高清在线| 日韩在线播放视频| 欧美激情一区二区三区久久久| 亚洲美女免费精品视频在线观看| 亚洲一区二区黄| 久久91精品国产91久久跳| 97不卡在线视频| 欧美成人全部免费| 中文字幕亚洲综合久久| 成人中文字幕+乱码+中文字幕| 欧美在线视频观看| 日韩免费在线视频| 欧美放荡办公室videos4k| 成人欧美一区二区三区黑人孕妇| 国产精品pans私拍| 在线看日韩欧美| 日本精品视频在线观看| 欧美大片在线免费观看| 亚洲精品aⅴ中文字幕乱码| 欧美性高潮床叫视频| 国产亚洲欧洲在线| 亚洲国产精彩中文乱码av在线播放| 欧美激情手机在线视频| 日韩成人中文电影| 日韩网站免费观看高清| 色伦专区97中文字幕| 国产在线拍揄自揄视频不卡99| 午夜精品久久久久久久99黑人| 日本欧美一二三区| 日韩免费观看高清| 国产91精品黑色丝袜高跟鞋| 亚洲天堂成人在线| 日韩精品高清在线观看| 97国产精品人人爽人人做| 亚洲午夜国产成人av电影男同| 三级精品视频久久久久| 青青草一区二区| 成人网在线视频| 亚洲欧美一区二区三区情侣bbw| 97精品免费视频| 日韩精品在线免费观看视频| 亚洲第一国产精品| 91理论片午午论夜理片久久| 98精品在线视频| 国产视频丨精品|在线观看| 最好看的2019的中文字幕视频| 色偷偷888欧美精品久久久| 久久免费观看视频| 日韩视频―中文字幕| 在线丨暗呦小u女国产精品| 精品久久久久久亚洲精品| 亚洲激情视频在线| 欧美野外猛男的大粗鳮| 久久精品国产一区| 国产91露脸中文字幕在线| 最近日韩中文字幕中文| 91最新在线免费观看| 国产视频精品免费播放| 亚洲国产一区二区三区在线观看| 青草青草久热精品视频在线观看| 久久久久久久成人| www.亚洲成人| 精品国产一区久久久| 久久精品国产亚洲精品2020| 曰本色欧美视频在线| 亚洲国产精品一区二区久| 国产在线观看一区二区三区| 91国产视频在线播放| 2019亚洲男人天堂| 日韩中文第一页| 青青草精品毛片| 国产成人黄色av| 国产精品久久久久久久久| 亚洲最大中文字幕| 国产精品成久久久久三级| 午夜精品福利在线观看| 成人免费自拍视频| 日韩美女免费观看| 91欧美精品午夜性色福利在线| 国产精品久久久久久久av电影| 黑人巨大精品欧美一区二区三区| 国产亚洲欧洲高清一区| 欧美极品少妇xxxxⅹ喷水| 日韩小视频在线观看| 欧洲永久精品大片ww免费漫画| 国产精品久久久av久久久| 久久久之久亚州精品露出| 国产91成人在在线播放| 综合网中文字幕| 久久视频在线看| 18一19gay欧美视频网站| 久久久视频在线| 欧美午夜激情在线| 色婷婷av一区二区三区在线观看| 2019中文在线观看| 91精品国产自产在线| 亚洲国产精品视频在线观看| 深夜福利91大全| 91中文在线视频| 亚洲日韩欧美视频| 欧美一级成年大片在线观看| 国产精品九九久久久久久久| 久久精品亚洲精品| 奇米4444一区二区三区| 69av成年福利视频| 色青青草原桃花久久综合| 91欧美激情另类亚洲| 欧美香蕉大胸在线视频观看| 久久综合免费视频影院| 最新国产成人av网站网址麻豆| 尤物九九久久国产精品的分类| 91免费在线视频网站| 国产国语刺激对白av不卡| 久久九九全国免费精品观看| 国产精品99久久久久久久久久久久| 国产精品99久久久久久白浆小说| 久久精品2019中文字幕| 成人春色激情网| 亚洲性猛交xxxxwww| 亚洲全黄一级网站| 久久精品亚洲一区| 隔壁老王国产在线精品| 国内精品在线一区| 好吊成人免视频| 日韩中文字幕网址| 欧美激情在线狂野欧美精品| 色综合伊人色综合网| 亚洲激情电影中文字幕| 2019中文字幕在线免费观看| 国产精品丝袜一区二区三区| 亚洲精品美女久久久久|