Dalam pembangunan web, selalunya perlu menukar halaman HTML kepada imej untuk fungsi seperti menjana kod pengesahan dan tangkapan skrin e-mel. Sebagai bahasa skrip pelayan yang sangat popular, PHP juga boleh menukar HTML kepada imej. Artikel ini akan menerangkan cara menggunakan PHP untuk menukar halaman HTML kepada imej.
Sebelum memperkenalkan pelaksanaan khusus, mari kita fahami secara ringkas prinsip HTML kepada imej. Cara biasa ialah menggunakan pustaka pihak ketiga untuk menjadikan halaman HTML menjadi imej, dan kemudian mengeluarkan imej itu ke penyemak imbas atau menyimpannya sebagai fail.
PHP tidak menyokong penukaran HTML kepada imej secara asli dan perlu bergantung pada sambungan pihak ketiga. Antara yang lebih popular ialah wkhtmltoimage
, dompdf
, phantomjs
, dsb.
Mengambil wkhtmltoimage
sebagai contoh, anda perlu memasang pustaka wkhtmltox
pada pelayan terlebih dahulu.
sudo apt-get update sudo apt-get install wkhtmltopdf
Kemudian pasang sambungan PHP php-wkhtmltox
.
sudo apt-get install php-wkhtmltox
wkhtmltoimage
Selepas memasang sambungan wkhtmltoimage
, anda boleh menggunakan kod berikut untuk menukar halaman HTML kepada imej.
<?php $command = 'wkhtmltoimage http://www.baidu.com ./baidu.jpg'; $result = shell_exec($command);
Dalam kod di atas, arahan wkhtmltoimage
menjadikan halaman http://www.baidu.com
menjadi imej dan menyimpannya sebagai fail ./baidu.jpg
.
Selain menukar imej daripada alamat web, anda juga boleh menukar fail HTML tempatan kepada imej:
<?php $command = 'wkhtmltoimage ./local.html ./local.jpg'; $result = shell_exec($command);
dompdf
dompdf
ialah sambungan PHP yang menukar HTML kepada PDF Ia juga boleh menukar HTML kepada imej.
Pasang sambungan dompdf
.
composer require dompdf/dompdf
Gunakan kod berikut untuk menukar halaman HTML kepada imej.
<?php use Dompdf\Dompdf; $html = file_get_contents('http://www.baidu.com'); $dompdf = new Dompdf(); $dompdf->loadHtml($html); $dompdf->render(); $file = './baidu.png'; file_put_contents($file, $dompdf->output());
Dalam kod di atas, gunakan file_get_contents
untuk mendapatkan kandungan HTML halaman, dan kemudian gunakan Dompdf
untuk menjadikannya imej di sebelah pelayan dan simpannya secara setempat.
phantomjs
Serupa dengan dompdf
, phantomjs
juga merupakan alat yang boleh menjadikan halaman HTML menjadi imej. Pasang pustaka phantomjs
.
sudo apt-get install phantomjs
Kemudian gunakan kod berikut untuk menukar halaman HTML kepada imej.
<?php $html = file_get_contents('http://www.baidu.com'); $command = 'phantomjs rasterize.js ' . escapeshellarg($html) . ' ./baidu.png 800px*600px'; $result = shell_exec($command);
Dalam kod di atas, perintah phantomjs
menggunakan skrip rasterize.js
untuk melengkapkan pemaparan halaman. Antaranya, parameter pertama ialah kandungan HTML yang akan diberikan, parameter kedua ialah fail output, dan parameter ketiga ialah saiz imej output.
Artikel ini menerangkan cara menggunakan PHP untuk menukar halaman HTML kepada imej. Kami boleh menggunakan sambungan seperti wkhtmltoimage
, dompdf
atau phantomjs
untuk mencapai fungsi ini. Apabila menggunakan sambungan yang berbeza, anda juga perlu memberi perhatian kepada pemasangan persekitaran bergantungnya dan penggunaan perpustakaan yang berkaitan.
Atas ialah kandungan terperinci Bagaimana untuk menukar halaman HTML kepada imej menggunakan PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!