Как я могу получить снимок или эскиз веб-страницы с помощью PHP?

Мне нужно создать снимки / Thumbshots / Предварительный просмотр сайта a-site.com.

Есть такой сайт, как thumbshot.org, который мне нужен. Но я не хочу использовать внешний сервис, чтобы не зависеть от других в моем проекте (что будет, если они закроют сайт?)

По этой причине я ищу какой-нибудь проект, который позволил бы мне сделать это.

Любая идея?

5 ответов

На окнах вы можете использовать GD imagegrabwindow() функция.

Изменить: страница справки фактически показывает вам, как получить скриншот из IE.

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

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

Изменить: думал об этом: imagegrabscreen а также imagegrabwindow, Однако я не уверен, что они будут делать то, что вы хотите (даже в полноэкранном режиме Firefox имеет полосу прокрутки вверху экрана - не уверен в других браузерах). Однако у Пьера есть кое-что об этих функциях, если вам интересно.

Я бы предложил написать приложение на другом языке (я полагаю, в.NET есть что-то), чтобы сделать это для вас. Изменить: эта страница рассказывает, как это сделать в C#

Спасибо всем. Я нашел псевдо-решение, (используя dcom + imagegrabscreen + wamp). Мне нужно изменить размер файла final.png с помощью gd, поскольку png соответствует разрешению клиента (в моем доме это изображение 1650*1280). Когда я закончу это, я опубликую файл.zip для загрузки еще раз Спасибо (но если у кого-то есть идея получше, я рад это видеть)

PS: простите за мой английский

В этой ситуации PHP мало что мог бы сделать для вас. Вам понадобится полный (X) движок рендеринга HTML с поддержкой CSS, возможно, также с поддержкой JavaScript.

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

Существует расширение Firefox, которое преобразует просматриваемую веб-страницу в изображение:

http://www.screengrab.org/

http://addons.mozilla.org/en-US/firefox/addon/1146

Если вы хотите проявить творческий подход, возможно, вам удастся получить к нему доступ.

Другие вопросы по тегам