Рейтинг с imdb

D

diabolical

Гость
#1
автор diabolical
установка 2 мин
мод позваляет парсить рейтинг киношек с

Please Login or Register to view hidden text.



отличие от других модов :

нет абсалютных путей

код упрашен в 6 раз или более

кеширование

установка

забрасываем файл imdb.php в каталог
забрасываем картинки в папку images

найти
PHP:
'#\[quote="(.+?)"\]#isu'                                => $tpl['quote_username_open'],
после добавить

PHP:
'#\[imdb\](.+?)\[/imdb\]#isu' => '<a href="http://www.imdb.com/title/$1/"><img src="imdb.php?id=$1" ></a>',
заходим на

Please Login or Register to view hidden text.

ищим кино находим копируем номер

Please Login or Register to view hidden text.

---- tt1285016 копируем его и заключаем в теги

[imdb]tt0952640[/imdb]

результат
 

Вложения

D

diabolical

Гость
#5
krumax,код разный и структура логическая другая !!который в пабле он парсит и кино и с им а у меня тока с имм
 

DarkMod

Пользователь
#8
Lion18, Ты в принципа можешь сам посмотреть
в принцапи нагрузки не должно быть
 

plutos

Пользователь
#10
Предлагаю кешировать изображения
PHP:
<?php
$imdb_id = isset($_GET['id']) ? trim($_GET['id']) : false;
 
if($imdb_id){
    $patch = 'images/imdb/';
    $time_left = 86400; // Сутки
    $alow = true;
 
    if (is_file($patch . $imdb_id .'.png')) {
        $file_time = filemtime($patch . $imdb_id .'.png');
        if ($file_time > time() - $time_left) {
            $alow = false;
        }
    }
 
    if($alow) {
        $data =file_get_contents("http://www.imdb.com/title/". $imdb_id ."/");
        preg_match_all('/<span itemprop="ratingValue">(.*?)<\/span>/', $data, $ratio);
        preg_match_all('/<span itemprop="ratingCount">(.*?)<\/span>/', $data, $chislo);
        $pic = imagecreatefromgif("images/imdb.gif");
        $star = imagecreatefromjpeg("images/star.jpg");
        $black = imagecolorallocate ($pic, 0, 0, 0);
        $krasn = imagecolorallocate($pic, 255, 0, 0);
        imagestring($pic, 5, 62, -1, $ratio[1][0],  $krasn);
        imagestring($pic, 0, 55, 16, $chislo[1][0], $black);
        for($q=0; $q<=$ratio[1][0]-1; $q++,$nacolo=$nacolo+10){
            imagecopy($pic, $star, 0+$nacolo, 25, 0, 0, imagesx($star), imagesy($star));
        }
        imagepng($pic, $patch . $imdb_id .'.png');
    } else {
        $pic = imagecreatefrompng($patch . $imdb_id .'.png');
    }
   
    header('Content-Type: image/png');
    imagepng($pic);
    imagedestroy($pic);
 
}
?>
 
Сверху