GNU/Linux >> Tutoriels Linux >  >> Linux

Comment créer des captures d'écran de sites Web (html) avec PHP Script et Linux Command Line

Wkhtmltoimage est une application très utile pour créer une capture d'écran d'un site Web ou d'une page Web. Parfois, nous devions créer une capture d'écran des pages Web et les stocker sur notre système. Il utilise le moteur de rendu QT Webkit pour créer des images dans différents formats. Cet article vous aidera à capturer des captures d'écran d'une page Web à l'aide d'un script PHP et d'une ligne de commande Linux.

Étape 1 :Installez wkhtmltoimage sous Linux

Téléchargez wkhtmltoimage à partir du code Google et installez-le sur votre système Linux en suivant les étapes suivantes.

# 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

Étape 2 :Créer une image à l'aide de la ligne de commande

Vérifiez d'abord le script wkhtmltoimage à l'aide de la ligne de commande Linux. La commande suivante prendra une capture d'écran de http://google.com et créez une image avec le nom google.jpg.

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

Étape 3 :Code PHP pour créer une image

Utilisez le code php suivant pour générer une image à partir de html (URL du site Web). Ce script nécessitait l'activation de la fonction shell_exec pour Apache. La plupart des fournisseurs d'hébergement mutualisé n'autorisent pas cette fonction.

Créez un nom de fichier getImage.php et mettre le code ci-dessous :

PHP
123456789 <?php $url =$_GET['url']; // URL du site Web pour créer l'image$name =$_GET['img'] ; // Nom de l'image de sortie $command ="/usr/bin/wkhtmltoimage --no-images --load-error-handling ignore";$dir_img ="/var/www/html/images/"; // Les fichiers image seront enregistrés ici$ex_cmd ="$command $url " . $dir_img . $name;$output =shell_exec($ex_cmd);?>

Utilisez le syntex suivant ou l'URL de démonstration pour générer l'image du site Web ( html ).

Syntaxe :

http://votredomaine.com/getImage.php?url=&img=

Exemple :

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

Étape 4 :Script PHP pour une URL optimisée pour le référencement

Si vous souhaitez créer une URL conviviale pour le référencement pour cette configuration, vous pouvez suivre les étapes ci-dessous.

Créez quelques répertoires requis dans la racine du document de votre serveur Web

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

Créer index.php fichier avec le contenu suivant. Assurez-vous que tous les chemins de répertoire sont corrects,

PHP
123456789101112131415 <?php $url =str_replace('index.php','', $_SERVER['PHP_SELF']);$url =str_replace($url,'',$_SERVER[' REQUEST_URI']);$url =éclater('/',$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/"; // Les fichiers image seront enregistrés ici$ex_cmd ="$command $weburl " . $dir_img . $name;$output =shell_exec($ex_cmd);echo "<img src="/getImage/images/$name" >" ; // commentez ceci pour désactiver l'affichage de l'image sur la page ?>

Créez maintenant un .htaccess fichier dans ce répertoire pour déplacer toutes les requêtes vers le fichier index.php. assurez-vous que votre serveur est activé pour utiliser le fichier .htaccess.

# vi /var/www/html/getImage/.htaccessRewriteEngine OnRewriteCond %{REQUEST_URI} /images/.+(gif|png|jpg)$RewriteRule .* - [L]RewriteRule ^.*$ index.php 

Vous pouvez maintenant créer des images en accédant aux URL comme ci-dessous

Syntaxe :

 http://votredomaine.com/getImage/[nomimage]/[URL du site sans préfixe http]

Exemple :

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

Linux
  1. Comment créer un alias et utiliser la commande Alias ​​sous Linux

  2. Comment capturer les sessions de terminal et la sortie avec la commande de script Linux

  3. Comment prendre et annoter des captures d'écran avec Ksnip sous Linux

  4. Comment ajouter un shebang # ! avec un script php sous linux?

  5. Compiler et construire avec une seule ligne de commande Java (Linux)

Comment créer une sauvegarde avec la commande tar sous Linux

Comment supprimer des fichiers et des répertoires à l'aide de la ligne de commande Linux

Comment créer un alias sous Linux

Comment vérifier la version du système d'exploitation avec la ligne de commande Linux

Comment installer Dig sous Linux avec des exemples de ligne de commande

Comment créer et gérer de nouveaux utilisateurs sous Linux