GNU/Linux >> Linux Esercitazione >  >> Linux

Come creare schermate di siti Web (html) con script PHP e riga di comando Linux

Wkhtmltoimage è un'applicazione molto utile per creare screenshot di un sito web o di una pagina web. Alcune volte abbiamo richiesto di creare uno screenshot delle pagine Web e memorizzarlo nel nostro sistema. Utilizza il motore di rendering QT Webkit per la creazione di immagini in vari formati. Questo articolo ti aiuterà a catturare screenshot di una pagina web usando lo script php e la riga di comando di Linux.

Passaggio 1:installa wkhtmltoimage in Linux

Scarica wkhtmltoimage da google code e installalo sul tuo sistema Linux seguendo i seguenti passaggi.

# cd /opt
# wget http://downloads.sourceforge.net/project/wkhtmltopdf/0.12.0/wkhtmltox-linux-i386_0.12.0-03c001d.tar.xz
# tar xJf wkhtmltox-linux-i386_0.12.0-03c001d.tar.xz
# ln -s /opt/wkhtmltox/bin/wkhtmltoimage /usr/bin/wkhtmltoimage
# chown apache:apache /usr/bin/wkhtmltoimage
# chmod +x /usr/bin/wkhtmltoimage

Fase 2:crea un'immagine utilizzando la riga di comando

Per prima cosa controlla lo script wkhtmltoimage usando la riga di comando di Linux. Il comando seguente acquisirà una schermata di http://google.com e crea un'immagine con nome google.jpg.

# /usr/bin/wkhtmltoimage --no-images --load-error-handling ignore http://google.com google.jpg

Fase 3:codice PHP per creare l'immagine

Usa il seguente codice php per generare un'immagine da html (URL del sito). Questo script richiedeva l'abilitazione della funzione shell_exec per Apache. La maggior parte dei provider di hosting condiviso non consente questa funzione.

Crea un nome file getImage.php e metti sotto il codice:

PHP
123456789 <?php $url =$_GET['url']; // URL del sito Web per creare l'immagine$nome =$_GET['img']; // Nome immagine di output$comando ="/usr/bin/wkhtmltoimage --no-images --load-error-handling ignore";$dir_img ="/var/www/html/images/"; // I file immagine verranno salvati qui$ex_cmd ="$command $url " . $ dir_img . $nome;$output =shell_exec($ex_cmd);?>

Usa il seguente syntex o l'URL demo per generare l'immagine del sito web ( html ).

Sintassi:

http://youdomain.com/getImage.php?url=<website url>&img=<image name>

Esempio:

https://tecadmin.net/getImage.php?url=http://google.com&img=image1.jpg

Fase 4:Script PHP per URL SEO friendly

Se desideri creare un URL SEO friendly per questa configurazione, puoi utilizzare i passaggi seguenti.

Crea poche directory richieste nella root dei documenti del tuo server web

# mkdir -p /var/www/html/getImage/
# mkdir -p /var/www/html/getImage/images/

Crea index.php file con il seguente contenuto. Assicurati che tutti i percorsi delle directory siano corretti,

PHP
123456789101112131415 <?php $url =str_replace('index.php','', $_SERVER['PHP_SELF']);$url =str_replace($url,'',$_SERVER[' REQUEST_URI']);$url =esplode('/',$url);$name =array_shift($url);$weburl =array_shift($url); $command ="/usr/bin/wkhtmltoimage --no-images --load-error-handling ignore";$dir_img ="/var/www/html/getImage/images/"; // I file immagine verranno salvati qui$ex_cmd ="$comando $weburl " . $ dir_img . $name;$output =shell_exec($ex_cmd);echo "<img src="/getImage/images/$name" >"; // Commenta per disabilitare la visualizzazione delle immagini nella pagina ?>

Ora crea un .htaccess file in questa directory per spostare tutte le richieste nel file index.php. assicurati che il tuo server sia abilitato all'uso del file .htaccess.

# vi /var/www/html/getImage/.htaccess

RewriteEngine On
RewriteCond %{REQUEST_URI} /images/.+(gif|png|jpg)$
RewriteRule .* - [L]
RewriteRule ^.*$ index.php

Ora puoi creare immagini accedendo agli URL come di seguito

Sintassi:

 http://youdomain.com/getImage/[imagename]/[site url without http prefix]

Esempio:

 https://tecadmin.net/getImage/123.jpg/yahoo.com

Linux
  1. Come acquisire e annotare schermate con Ksnip in Linux

  2. Come aggiungere shebang #! con script php su Linux?

  3. Come convertire un PDF in JPG con la riga di comando in Linux?

  4. Come sostituire un file in jar con la riga di comando in Linux?

  5. Come creare un USB avviabile da un ISO avviabile con la riga di comando su Linux?

Come creare backup con il comando tar in Linux

Come rimuovere file e directory utilizzando la riga di comando di Linux

Come creare un alias in Linux

Come controllare la versione del sistema operativo con la riga di comando di Linux

Come installare Dig in Linux con esempi di riga di comando

Come creare e gestire nuovi utenti su Linux