GNU/Linux >> Znalost Linux >  >> Linux

Jak vytvořit snímky webových stránek (html) pomocí skriptu PHP a příkazového řádku Linuxu

Wkhtmltoimage je velmi užitečná aplikace pro vytvoření screenshotu webové stránky nebo webové stránky. Někdy jsme potřebovali vytvořit screenshot webových stránek a uložit je do našeho systému. Využívá vykreslovací engine QT Webkit pro vytváření obrázků v různých formátech. Tento článek vám pomůže zachytit snímky obrazovky webové stránky pomocí skriptu php a příkazového řádku systému Linux.

Krok 1:Nainstalujte wkhtmltoimage v Linuxu

Stáhněte si wkhtmltoimage z google kódu a nainstalujte do svého linuxového systému pomocí následujících kroků.

# 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 -03c001d.tar.xz# ln -s /opt/wkhtmltox/bin/wkhtmltoimage /usr/bin/wkhtmltoimage# chown apache:apache /usr/bin/wkhtmltoimage# chmod +x /usr/bin/wkhtmltoimage

Krok 2:Vytvořte obrázek pomocí příkazového řádku

Nejprve zkontrolujte skript wkhtmltoimage pomocí příkazového řádku linuxu. Následující příkaz pořídí snímek obrazovky http://google.com a vytvořte obrázek s názvem google.jpg.

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

Krok 3:Kód PHP pro vytvoření obrázku

Pomocí následujícího php kódu vygenerujte obrázek z html ( URL webu ). Tento skript vyžadoval, aby byla povolena funkce shell_exec pro Apache. Většina poskytovatelů sdíleného hostingu tuto funkci neumožňuje.

Vytvořte název souboru getImage.php a vložte níže kód:

PHP
123456789 <?php $url =$_GET['url']; // URL webu pro vytvoření obrázku$name =$_GET['img']; // Název výstupního obrázku$command ="/usr/bin/wkhtmltoimage --no-images --load-error-handling ignore";$dir_img ="/var/www/html/images/"; // Soubory obrázků budou uloženy zde$ex_cmd ="$příkaz $url " . $dir_img . $name;$output =shell_exec($ex_cmd);?>

Použijte následující syntex nebo demo url pro vytvoření obrázku webové stránky ( html ).

Syntaxe:

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

Příklad:

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

Krok 4:PHP skript pro SEO Friendly URL

Pokud chcete pro toto nastavení vytvořit SEO přátelskou adresu URL, můžete použít níže uvedené kroky.

Vytvořte několik požadovaných adresářů v kořenovém adresáři dokumentů webového serveru

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

Vytvořte index.php soubor s následujícím obsahem. Ujistěte se, že všechny cesty k adresáři jsou správné,

PHP
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/"; // Soubory obrázků budou uloženy zde$ex_cmd ="$příkaz $weburl " . $dir_img . $name;$output =shell_exec($ex_cmd);echo "<img src="/getImage/images/$name" >"; // okomentujte toto, chcete-li zakázat zobrazování obrázků na stránce ?>

Nyní vytvořte .htaccess soubor v tomto adresáři přesunout všechny požadavky do souboru index.php. ujistěte se, že váš server má povoleno používat soubor .htaccess.

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

Nyní můžete vytvářet obrázky přístupem na adresy URL jako níže

Syntaxe:

 http://youdomain.com/getImage/[imagename]/[url webu bez předpony http]

Příklad:

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

Linux
  1. Zkopírujte a vložte na příkazový řádek Linuxu pomocí xclip

  2. Jak vytvořit skript příkazu Linux

  3. Jak pořizovat a komentovat snímky obrazovky pomocí Ksnip v Linuxu

  1. Jak vytvořit alias a používat příkaz Alias ​​v Linuxu

  2. Jak zachytit terminálové relace a výstup pomocí příkazu skriptu Linux

  3. Jak přidat shebang #! s php skriptem na linuxu?

  1. Kompilace a sestavení pomocí jediného příkazového řádku Java (Linux)

  2. Jak převést PDF do JPG pomocí příkazového řádku v Linuxu?

  3. Jak nahradit soubor v jar příkazovým řádkem v linuxu?