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.phpNyní 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