PHP で Web ページのスクリーンショットを実装する方法: 最初に CutyCapt をダウンロードし、次に tar パッケージを解凍し、最後にコード「public functionindex(){echo 'e03b848252eb9375d56be284e690e873';echo date('Y-m-d H」を使用します。 :m:s ')...}" スクリーンショットを撮るだけです。
推奨: 「PHP ビデオ チュートリアル 」
CutyCapt のダウンロード##URL のコンテンツをビュー画像に出力する必要がある場合、この要件を達成するには補助ツール CutyCapt
Windows システムが必要です。
コードの実装 (20 秒以上かかります): 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>'; }
QIODevice::read: maxSize 引数QByteArray のサイズ制限を超えています 「std::bad_alloc」のインスタンスをスローした後に終了が呼び出されます what(): std::bad_alloc このアプリケーションは、ランタイムに異常な方法で終了するよう要求しました。詳細については、アプリケーションのサポート チームにお問い合わせください。
処理:
Linux システム1.「開始」 – 「ファイル名を指定して実行」 – 「cmd」と入力します
2.「cd %windir%\system32」と入力します (system32 フォルダーに入ります)
3. Regsvr32 Msxml3.dll を入力します
4. 理由リンク
公式 Web サイト http://cutycapt.sourceforge.net /
私の主な目的は、php を使用して Web ページを画像として保存する問題を解決することです。これ以上の苦労はせずに、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) BaiduとKomatsuのブログを傍受したところ、ボタン上の文字が文字化けしていることがわかりました。が表示されませんが、これも文字化けが原因である可能性があります。
PS. 中国語のコード文字化けの問題
Windows の中国語フォントを /usr/share/fonts ディレクトリにアップロードし、コマンド fc- を実行します。キャッシュ
テスト スクリーンショット
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でWebページのスクリーンショットを撮る方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。