Rumah > pembangunan bahagian belakang > masalah PHP > Bagaimana untuk menukar halaman web ke dalam format imej dalam php

Bagaimana untuk menukar halaman web ke dalam format imej dalam php

藏色散人
Lepaskan: 2023-03-13 19:58:01
asal
4675 orang telah melayarinya

Cara menukar halaman web kepada format imej dengan PHP: 1. Pasang chrome-php/chrome 2. Pasang chromium 3. Laksanakan logik penukaran melalui pengawal.

Bagaimana untuk menukar halaman web ke dalam format imej dalam php

Bagaimana untuk menukar halaman web kepada format imej dalam php?

PHP menukarkan keseluruhan html halaman web kepada imej dan menyimpannya [termasuk menatal]

1 Pasang chrome-php/chrome

composer require chrome-php/chrome
Salin selepas log masuk

2 . Pasang kromium (Auto Baidu)

Chromium ialah penyemak imbas web yang dibangunkan oleh Google. Dikeluarkan di bawah pelbagai hak cipta percuma seperti lesen BSD dan kod sumber terbuka, pembangunan Chromium mungkin telah bermula seawal tahun 2006. Chromium ialah enjin di sebalik penyemak imbas Chrome Google dan tujuannya adalah untuk mencipta penyemak imbas universal yang selamat, stabil dan pantas.

3. Logik pelaksanaan Pengawal (rangka kerja laravel)

<?php

namespace App\Http\Controllers;

use App\Http\Controllers\Controller;
use HeadlessChromium\BrowserFactory;

// 测试控制器
class TestController extends Controller
{

    public function index()
    {

        // chromium浏览器引擎位置(Mac系统,根据不同系统设置安装)
        $browserFactory = new BrowserFactory(&#39;/Applications/Chromium.app/Contents/MacOS/chromium&#39;);
        // starts headless chrome
        $browser = $browserFactory->createBrowser();

        // creates a new page and navigate to an url
        $page = $browser->createPage();

        // 自动化访问网页
        $url = 'https://www.jianshu.com';
        $page->navigate($url)->waitForNavigation();

        // 获取浏览器滚动条宽高,用于设置:setViewport
        $evaluation = $page->callFunction(
            'function() {
                var width = document.body.scrollWidth;
                var height = document.body.scrollHeight;
                return [width,height];
             }'
        );

        $value  = $evaluation->getReturnValue();
        $width  = $value[0];
        $height = $value[1];
        $page->setViewport($width, $height)->await(); // wait for operation to complete

        // take the screenshot (in memory binaries)
        // 这里如果截取的图片过大,需要设置超时时间或者调整图片质量
        $screenshot = $page->screenshot([
            'format'  => 'jpeg', // default to 'png' - possible values: 'png', 'jpeg',
            'quality' => 100, // only if format is 'jpeg' - default 100
        ]);

        $screenshot->saveToFile(storage_path('/app/example.png'));

        // 关闭浏览器
        $browser->close();

    }

}
Salin selepas log masuk

Jika halaman mempunyai terlalu banyak interaksi, ia perlu dilaraskan mengikut situasi sebenar.

Pembelajaran yang disyorkan: "Tutorial Video PHP"

Atas ialah kandungan terperinci Bagaimana untuk menukar halaman web ke dalam format imej dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
php
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan