GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So erstellen Sie Screenshots von Websites (html) mit PHP-Skript und Linux-Befehlszeile

Wkhtmltoimage ist eine sehr nützliche Anwendung, um Screenshots einer Website oder Webseite zu erstellen. Manchmal mussten wir einen Screenshot von Webseiten erstellen und auf unserem System speichern. Es verwendet die QT Webkit-Rendering-Engine zum Erstellen von Bildern in verschiedenen Formaten. Dieser Artikel hilft beim Erfassen von Screenshots einer Webseite mit PHP-Skript und Linux-Befehlszeile.

Schritt 1:wkhtmltoimage unter Linux installieren

Laden Sie wkhtmltoimage von Google Code herunter und installieren Sie es auf Ihrem Linux-System mit den folgenden Schritten.

# 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

Schritt 2:Erstellen Sie ein Image mithilfe der Befehlszeile

Überprüfen Sie zuerst das wkhtmltoimage-Skript mit der Linux-Befehlszeile. Der folgende Befehl erstellt einen Screenshot von http://google.com und erstellen Sie ein Bild mit dem Namen google.jpg.

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

Schritt 3:PHP-Code zum Erstellen des Bildes

Verwenden Sie den folgenden PHP-Code, um ein Bild aus HTML (Website-URL) zu generieren. Dieses Skript muss die Shell_exec-Funktion für Apache aktivieren. Die meisten Shared-Hosting-Anbieter erlauben diese Funktion nicht.

Erstellen Sie einen Dateinamen getImage.php und fügen Sie den folgenden Code ein:

PHP
123456789 <?php $url =$_GET['url']; // Website-URL zum Erstellen des Bildes $name =$_GET['img']; // Name des Ausgabebildes$command ="/usr/bin/wkhtmltoimage --no-images --load-error-handlingignore";$dir_img ="/var/www/html/images/"; // Bilddateien werden hier gespeichert$ex_cmd ="$command $url " . $dir_img . $name;$output =shell_exec($ex_cmd);?>

Verwenden Sie die folgende Syntex- oder Demo-URL, um ein Bild der Website ( HTML ) zu generieren.

Syntax:

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

Beispiel:

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

Schritt 4:PHP-Skript für SEO-freundliche URL

Wenn Sie für dieses Setup eine SEO-freundliche URL erstellen möchten, können Sie die folgenden Schritte ausführen.

Erstellen Sie einige erforderliche Verzeichnisse im Dokumentenstammverzeichnis Ihres Webservers

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

Erstellen Sie index.php Datei mit folgendem Inhalt. Stellen Sie sicher, dass alle Verzeichnispfade korrekt sind,

PHP zu deaktivieren
123456789101112131415 <?php $url =str_replace('index.php','', $_SERVER['PHP_SELF']);$url =str_replace($url,'',$_SERVER[' REQUEST_URI']);$url =explode('/',$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/"; // Bilddateien werden hier gespeichert$ex_cmd ="$command $weburl " . $dir_img . $name;$output =shell_exec($ex_cmd);echo "<img src="/getImage/images/$name" >"; // dies kommentieren, um die Bildanzeige auf Seite ?>

Erstellen Sie nun eine .htaccess Datei in diesem Verzeichnis, um alle Anfragen in die Datei index.php zu verschieben. Stellen Sie sicher, dass Ihr Server für die Verwendung von .htaccess-Dateien aktiviert ist.

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

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

Jetzt können Sie Bilder erstellen, indem Sie auf URLs wie unten zugreifen

Syntax:

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

Beispiel:

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

Linux
  1. Kopieren und Einfügen in der Linux-Befehlszeile mit xclip

  2. So erstellen Sie einen Alias ​​und verwenden den Alias-Befehl in Linux

  3. So erstellen Sie ein Skript eines Linux-Befehls

  4. So fügen Sie Shebang # hinzu! mit PHP-Skript unter Linux?

  5. Wie konvertiert man ein PDF in JPG mit der Befehlszeile unter Linux?

So erstellen Sie eine Sicherung mit dem tar-Befehl unter Linux

So entfernen Sie Dateien und Verzeichnisse mit der Linux-Befehlszeile

So erstellen Sie einen Alias ​​unter Linux

So überprüfen Sie die Betriebssystemversion mit der Linux-Befehlszeile

So installieren Sie Dig unter Linux mit Befehlszeilenbeispielen

So erstellen und verwalten Sie neue Benutzer unter Linux