Скриншот сайта это небольшая картинка, которая позволяет пользователю не заходя на сайт увидеть как тот выглядит. Скрипт будет полезен если ваш сайт занимается рекламированием других сайтов, например "Яндекс.Каталог" зайдите в любой раздел и вы увидите возле каждого сайта небольшую картинку того сайта которого рекламирует яндекс.
Функция будет работать следующим образом:
<?php function(адрес страницы, разрешение, размер, формат); ?>
разрешение - указывается в пикселях, например (1024x768)
размер - ограничивается максимальное значение высоты и ширины, масштабированной картинки
формат - может принимать два значения (JPEG|PNG), по умолчанию "JPEG")
Функция имеет достаточно богатый функционал для данной задачи. Мы можем указывать по умолчанию настройки создания скриншота или указывать свои, например для параметра разрешение изображения.
Посмотрим сам скрипт изнутри:
<?php
function SiteScreen($url, $resolution='1024x768', $size='200', $format='png') {
$Filename = md5($url.$size.$resolution).".jpg";
// Директория где лежат скрины
$ScreenshotDirectory = "screens/";
// Проверяем если есть такой файл в папке скринов
if(@is_file($ScreenshotDirectory.$Filename)) {
return $ScreenshotDirectory.$Filename;
}
else {
$Image = @file_get_contents("http://mini.s-shot.ru/".$resolution."/".$size."/".$format."/?http://".$url);
$OpenFile = fopen($ScreenshotDirectory.$Filename, "w+");
// Сохраняем изображение
$Write = fwrite($OpenFile, $Image);
return $ScreenshotDirectory.$Filename;
}
}
?>
Функция SiteScreen получает адрес сайта которому нужно делать снимок. Идет проверка на существование заранее сделанного скрина, если скрипт был запущен повторно для одного и того же сайта, то файл будет открываться из папки screens.
Запуск скрипа происходит таким образом:
<?php echo "<img src='".SiteScreen('www.site.ru')."'>"; ?>
Если у Вас возникли вопросы по работе скрипта, задавайте их в комментариях ниже.