PHP如何實作網頁截圖
PHP實作網頁截圖的方法:先下載CutyCapt;然後解壓縮tar包;最後使用程式碼「public function index(){echo '
';echo date('Y-m-d H:m:s ')...}”實現截圖即可。 </p></blockquote> <p><img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/202008/15/2020081509330277584.jpg" class="lazy" alt="PHP如何實作網頁截圖" ></p> <p>推薦:《<a href="https://www.php.cn/course/list/29/type/2.html" target="_blank">PHP影片教學</a>》</p> <link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-963e387caa.css"> <p id="content_views" class="markdown_views prism-tomorrow-night-eighties"><!-- flowchart 箭头图标 勿删 --><svg xmlns="http://www.w3.org/2000/svg" style="display: none;"><path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path></svg></p> <blockquote><p><strong>如果需要將一個網址的內容做成視圖圖片輸出,則需要輔助工具<code>CutyCapt</code>來實現這個需求</strong></p></blockquote> <h2 id="Windows系統">Windows系統</h2> <ul> <li>下載CutyCapt<br>CutyCapt下載位址:http://sourceforge.net/projects/cutycapt/files/cutycapt/</li> <li>#解壓縮tar包,看到<code>CutyCapt.exe</code> 不需要再點選安裝</li> <li>#程式碼實作(時間需要20多秒):</li> </ul><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'> public function index() { echo '<pre class="brush:php;toolbar:false">'; echo date('Y-m-d H:m:s').'<br>'; $_GET['url'] = 'https://www.aliyun.com/jiaocheng/970387.html'; $url=$_GET["url"]; $imgName = rand(10000,99999); $out = 'D:/game/'.$imgName.'.png'; //输出图片地址 $path = 'D:/game/CutyCapt.exe'; //工具存储地址 $cmd = "$path --url=$url --out=$out"; echo $cmd.'<br>'; system($cmd, $em); if(!empty($em)){ echo '成功了呢'; }; echo date('Y-m-d H:m:s').'<br>'; }登入後複製
#注意
(如果直接命令列執行$cmd報錯):
QIODevice::read: maxSize argument exceeds QByteArray size limit terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information.
處理
:
1、開始–運行–輸入cmd
2、輸入cd %windir%\system32 (進入windows安裝目錄的system32資料夾)
3、輸入Regsvr32 Msxml3.dll
4、緣由連結
Linux系統
CutyCapt是一個截圖工具
官方網站http://cutycapt.sourceforge.net /
我主要的目的是解決用php儲存網頁為圖片,廢話不多少開始安裝CutyCapt
yum install epel-release #依赖安装 yum install Xvfbyum install xorg-x11-fonts*yum install qtwebkit-devel qt-devel #中文字体 yum install fonts-chinese yum install CutyCapt #测试使用 xvfb-run --server-args="-screen 0, 1920x1080x24" CutyCapt --url=http://www.phpsong.com --out=phpsong.jpg 如果提示错误libEGL warning: DRI2: failed to open swrast (search paths /usr/lib64/dri)
解決方法
yum install mesa-dri-drivers
問題
1)截圖時候有亂碼
2) 執行速度慢
3)截取百度和小松博客,發現按鈕上的文字沒有顯示,應該也是亂碼導致的
PS.中文亂碼問題
#將windows下的中文字體上傳至/usr/share/fonts目錄,執行下指令fc-cache即可
測試截圖
xvfb-run --server-args="-screen 0, 1920x1080x24" CutyCapt --url=http://www.phpsong.com --out=1.jpg xvfb-run --server-args="-screen 0, 1920x1080x24" CutyCapt --url=http://www.baidu.com --out=2.jpg xvfb-run --server-args="-screen 0, 1920x1080x24" CutyCapt --url=http://www.163.com --out=3.jpg xvfb-run --server-args="-screen 0, 1920x1080x24" CutyCapt --url=http://www.sina.com.cn --out=4.jpg
範例
<?php /* 网页截图功能,必须安装IE+CutyCapt url:要截图的网页 out:图片保存路径 path:CutyCapt路径 cmd:CutyCapt执行命令 比如:http://你php路径.php?url=http://www.111cn.net */ $url=$_GET["url"]; $imgname=str_replace('http://','',$url); $imgname=str_replace('https://','',$imgname); $imgname=str_replace('.','-',$imgname); $out = 'D:/webroot/test/'.$imgname.'.png'; $path = 'D:/webserver/CutyCapt.exe'; $cmd = "$path --url=$url --out=$out"; echo $cmd; system($cmd); ?>
以上是PHP如何實作網頁截圖的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

PHP 8.4 帶來了多項新功能、安全性改進和效能改進,同時棄用和刪除了大量功能。 本指南介紹如何在 Ubuntu、Debian 或其衍生版本上安裝 PHP 8.4 或升級到 PHP 8.4

Visual Studio Code,也稱為 VS Code,是一個免費的原始碼編輯器 - 或整合開發環境 (IDE) - 可用於所有主要作業系統。 VS Code 擁有大量針對多種程式語言的擴展,可以輕鬆編寫

本教程演示瞭如何使用PHP有效地處理XML文檔。 XML(可擴展的標記語言)是一種用於人類可讀性和機器解析的多功能文本標記語言。它通常用於數據存儲

JWT是一種基於JSON的開放標準,用於在各方之間安全地傳輸信息,主要用於身份驗證和信息交換。 1.JWT由Header、Payload和Signature三部分組成。 2.JWT的工作原理包括生成JWT、驗證JWT和解析Payload三個步驟。 3.在PHP中使用JWT進行身份驗證時,可以生成和驗證JWT,並在高級用法中包含用戶角色和權限信息。 4.常見錯誤包括簽名驗證失敗、令牌過期和Payload過大,調試技巧包括使用調試工具和日誌記錄。 5.性能優化和最佳實踐包括使用合適的簽名算法、合理設置有效期、

字符串是由字符組成的序列,包括字母、數字和符號。本教程將學習如何使用不同的方法在PHP中計算給定字符串中元音的數量。英語中的元音是a、e、i、o、u,它們可以是大寫或小寫。 什麼是元音? 元音是代表特定語音的字母字符。英語中共有五個元音,包括大寫和小寫: a, e, i, o, u 示例 1 輸入:字符串 = "Tutorialspoint" 輸出:6 解釋 字符串 "Tutorialspoint" 中的元音是 u、o、i、a、o、i。總共有 6 個元

靜態綁定(static::)在PHP中實現晚期靜態綁定(LSB),允許在靜態上下文中引用調用類而非定義類。 1)解析過程在運行時進行,2)在繼承關係中向上查找調用類,3)可能帶來性能開銷。

PHP的魔法方法有哪些? PHP的魔法方法包括:1.\_\_construct,用於初始化對象;2.\_\_destruct,用於清理資源;3.\_\_call,處理不存在的方法調用;4.\_\_get,實現動態屬性訪問;5.\_\_set,實現動態屬性設置。這些方法在特定情況下自動調用,提升代碼的靈活性和效率。
