To można zrobić całkowicie, wymaga to trochę więcej niż PHP. Mam aplikację napisaną w PHP, która wykonuje migawki stron internetowych w określonych odstępach czasu. To trochę skomplikowane, aby dostać się dzieje, ale oto kroki wziąłem na komputerze z systemem Linux:
- Install Xvfb (lub VNC Server) do emulowania sesji X Windows w pamięci. Zacznij Xvfb na wyświetlaczu: 1
- zainstalować Firefoksa
- zainstalować ImageMagick
- Utwórz skrypt bash, aby uruchomić Firefoksa w żądanym URL. Mój wyglądał tak:
.
#!/bin/bash
DISPLAY=:1 firefox &
sleep 2s
DISPLAY=:1 firefox -kill-all &
sleep 1s
DISPLAY=:1 firefox -url $1 &
sleep 5s
DISPLAY=:1 import -window root /var/www/images/screenshots/$2.png
.
exec ('sh ../scripts/screencap.sh ' . $url . ' ' . $file_name);
Najtrudniejszą częścią dla mnie było przekonanie przeglądarki do pełnego ekranu podczas zrzutu ekranu. Ponieważ nie masz bezpośredniego dostępu do przeglądarki, musisz skonfigurować wszystko za pomocą plików konfiguracyjnych Firefoksa, co może trochę potrwać.
Przydatne linki, które pomogą Ci zacząć:
http://semicomplete.com/blog/geekery/xvfb-firefox.html http://www.webmasterworld.com/forum21/9182.htm
http://stackoverflow.com/questions/713938/how-can-i-generate-a-screenshot-of-a- strona internetowa-używanie-serwera-skryptu-skryptu – vsr
Jestem specyficzny dla php, ale podzieliłeś się czymś fajnym dzięki :) – Sarfraz