« Search Thumbs Add-on - Скриншоты сайтов в поисковикахJavascript - Всплывающие тамбшоты »

PHP скрипт для показа скриншотов

Этот скрипт позволяет показывать скриншоты сайтов без раскрытия персонального ключа пользователя. Кроме того скрипт кеширует скриншоты на вашем сервере, значительно снижая число обращений с сервису и ускоряя загрузку страниц вашего сайта.

Скрипт состоит из двух файлов:
index.php - файл вызова скриншотов, задает параметры показа и кеширования;
_thumbshots.class.php - универсальный PHP5 класс для работы с сервисом;

Скачать: PHP скрипт для показа скриншотов v1.0.2 (06-Май-2012) (авторизованные пользователи)

Hастройка

В файле index.php достаточно комментариев, вы можете изменять любые предустановленные параметры класса $Thumbshot. Для работы скрипта обязательно введите ваш персональный ключ, полученный после регистрации в системе.

Универсальный PHP5 класс _thumbshots.class.php доступен для скачивания только зарегистрированным пользователям. В этом скрипте используется тот же класс что и в плагинах для блогов и CMS.

<?php
if( !empty($_GET['url']) )
{
    
$w 320;    // ширина
    
$h 240;    // высота

    // При необходимости берем размер скриншота из запроса
    // if( !empty($_GET['w']) ) $w = $_GET['w'];
    // if( !empty($_GET['h']) ) $h = $_GET['h'];

    // Показываем JPEG картинку и выходим
    
echo get_image$_GET['url'], $w$h );
}


function 
get_image$url$w false$h false )
{
    global 
$Thumbshot;

    if( empty(
$url) ) return;

    if( empty(
$Thumbshot) )
    {    
// Initialize Thumbshot class and set defaults

        
define('THUMBSHOT_INIT'true);
        require_once 
dirname(__FILE__).'/_thumbshots.class.php';

        
$Thumbshot = new Thumbshot();

        
// Без этого работать не будет!
        
$Thumbshot->return_binary_image true;

        
// Персональный ключ пользователя
        
$Thumbshot->access_key 'ABABABABABABABABABABABABABABABABABA';

        
// Размер скриншота, запрашиваемого с сервера (согласно вашему тарифу)
        
$Thumbshot->original_image_size 'L'// 320x240
        // $Thumbshot->original_image_w = 640;
        // $Thumbshot->original_image_h = 480;

        // Полезно при тестировании и отладке
        
$Thumbshot->debug 0;
        
$Thumbshot->debug_IP 'ВАШ IP';

        
$ReqHost '';
        if( !empty(
$_SERVER['HTTP_HOST']) )
        {    
// Пытаемся автоматически определить хост
            
$ReqHost = ((isset($_SERVER['HTTPS']) && ($_SERVER['HTTPS'] != 'off')) ? 'https://' 'http://').$_SERVER['HTTP_HOST'];
        }

        
// URL и путь к папке с кешем (меняем на собственные при необходимости)
        
$Thumbshot->thumbnails_url $ReqHost.'/thumbs/cache/';
        
$Thumbshot->thumbnails_path dirname(__FILE__).'/cache/';

        
// Сколько дней хранить кеш скриншотов
        
$Thumbshot->cache_days 7;            // статус: OK
        
$Thumbshot->err_cache_days 2;        // статус: Ошибка
        
$Thumbshot->queued_cache_days 0;    // статус: Добавлен в очередь

        // Добавляем параметры запроса
        // $Thumbshot->args = array( 'v' => 1, 'lang' => 'en' );

        // Используем собственные заглушки
        /*
        $Thumbshot->service_images = array(
                'all'    => 'URL адрес картинки-заглушки, только JPEG!',
                '0x0'    => 'http://domain.tld/image-queued.jpg',    // Добавлен в очередь
            );
        */

        
$GLOBALS['Thumbshot'] = $Thumbshot;
    }

    
$Thumbshot->url $url;

    if( 
$w $Thumbshot->width $w;
    if( 
$h >= $Thumbshot->height $h;

    
// Получаем тамбшот
    
return $Thumbshot->get();
}

?>

Примеры использования

Загузите папку "thumbs" на ваш сервер, например, в корневую директорию сайта. Предположим что адрес вашего сайта mywebsite.ru , таким образом, для показа скриншота сайта thumbshots.ru используйте следующий тег. <img src="http://mywebsite.ru/thumbs/index.php?url=thumbshots.ru" alt="Сайт" /> Вы можете сократить адрес вызова скриншота убрав index.php <img src="http://mywebsite.ru/thumbs/?url=thumbshots.ru" alt="Сайт" />

При первом запросе скрипт создаст директорию для хранения скриншотов (по умолчанию /cache). Вы можете задать различное время кеширования для успешных скриншотов, добавленных в очередь скриншотов и технических сообщений.

Что делать если что-то не работает...

Если вы считаете что скрипт работает не корректно, включите режим отладки. В таком случае по ходу запроса будет выводиться техническая информация, которая позволит определить что идет не так. Режим отладки можно включить двумя с пособами:
- [для всех]: сообщения показываются для всех запросов
- [для конкретного IP адреса]: сообщения показываются только если запрос выполнен с указанного IP адреса

Для всех $Thumbshot->debug = 1; Для конкретного IP адреса $Thumbshot->debug_IP = '123.123.123.123';
Еще нет отзывов
Оставить отзыв