PHP-imagegrabscreen как метод для создания мини-сайтов - PullRequest
2 голосов
/ 27 февраля 2012

доброго времени суток дорогие фанаты php в stackoverflow.

Я хочу использовать imagegrabscreen - чтобы получить снимки всего экрана - ну, мне нужен PHP-скрипт, который очищает 500 различных сайтов и сохраняет результаты в виде миниатюр

Этот пример, который я протестировал и показал ниже - демонстрирует, как сделать снимок экрана с текущим экраном и сохранить его как изображение в формате png.

как основа для веб-мастера, который работает с PHP и собирает изображения, которые, как я думал, мы. note - все, что мне нужно, это превью или миниатюры, мне не нужны полноценные изображения.

<?php
$im = imagegrabscreen();
imagepng($im, "myscreenshot.png");
imagedestroy($im);
?>

В этом примере показано, как сделать снимок экрана с текущим экраном и сохранить его в виде изображения в формате PNG.

хорошо - по буквам. Мне нужно от 500 до 1000 веб-снимков (изображения, которые хранятся в виде миниатюр с разрешением 240 пикселей на максимальном расстоянии.

Я думаю, что это должно быть довольно очевидно, но я все равно упомяну об этом, если мы запускаем приложения, интенсивно использующие GPU (не CPU), вызов этой функции вызовет довольно существенную задержку ответа нашей машины и сервера, пока запрос не будет полный. Чтобы это работало, наш сервис Apache должен быть настроен на «Разрешить сервису взаимодействовать с рабочим столом», иначе мы просто получим пустое изображение.

Вопрос: как реализовать длинный список из 500 URL-адресов, которые мне нужно посетить, и создать эскизы?

1 Ответ

3 голосов
/ 27 февраля 2012

Вам понадобится некоторый интерфейс для доступа к браузеру (-ам) через PHP, чтобы вы могли захватить изображение.Selenium, вероятно, является наиболее полной реализацией этого, и у него уже есть возможности захвата скриншотов.Они также реализовали распределенную обработку, чтобы сделать этот процесс максимально быстрым.

http://seleniumhq.org/docs/05_selenium_rc.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...