Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Юзербар с часами (https://forum.antichat.xyz/showthread.php?t=106640)

b3 17.02.2009 15:06

Юзербар с часами
 
На идею подталкнула эта группа http://vkontakte.ru/club6968868 и себе захотел часы в юзербаре) Строго не судить. Все коменты в скрипте, скачать можно тут:
http://sqlinj.com/svn/userbar_clock.rar
Превью:
Код:
PHP код:

<?php
/*
        Нифигасебе Юзербар (с) БэТри нах!!1адин
*/

// Время выполнения скрипта неограничено. Закрытие окна браузера не прирывает выполнение сркипта.
set_time_limit(0);
ignore_user_abort(1);

// Функция цвета как в HTML, для тех кому неудобен вид RGB(255,255,255)
function htmlcolor($im,$color
{
    
sscanf($color"%2x%2x%2x"$red$green$blue);
    return 
ImageColorAllocate($im,$red,$green,$blue);
    return(
$c);
}
// Бесконечный цикл (;;)
for (;;) {
// Размер Юзербара
$im imagecreate(350,20);
// background - тоесть цвет заднего фона Юзербара.
$bg htmlcolor($im"424242");
// Цвет текста.
$font_color htmlcolor($im,"eaffca");
// Попровка по GMT
$GMT "+2";

list(
$h,$m,$s) = explode(":",date("H:i:s"));
$h_gmt $h $GMT;
$txt =  $h_gmt.":".$m.":".$s;
// Примечание: файл с шрифтом (font.ttf) должен лежать в папке с скриптом
imagettftext($im,12,0,8,14,$font_color,"font.ttf",$txt);
// Сохранение изображения в файл time.png
imagepng($im,"time.png");
imagedestroy($im);
// Время обновления изображения, желательно не менять.
sleep(15);
}
?>

Запускать через крон CronJob.ru с интервалом 30 минут, меньше думаю не стоит. Надеюсь кому то пригодится, или натолкнет на мысль) К примеру вот у чувака http://vkontakte.ru/id22671298 на аве все что хочеш =)

Если у вас возникли проблеммы с скриптом, проверьте ваш хостинг:
PHP код:

<?php
if(function_exists('imagetypes'))
           echo 
'GD is loaded';
           else
           echo 
'GD is not loaded';
?>

Если GD is loaded а скрипт всеравно не работает, тогда:
PHP код:

<?php
var_dump
(gd_info());
?>

Выдаст чтото типа:
Цитата:

array(9) {
["GD Version"]=>
string(24) "bundled (2.0 compatible)"
["FreeType Support"]=>
bool(false)
["T1Lib Support"]=>
bool(false)
["GIF Read Support"]=>
bool(true)
["GIF Create Support"]=>
bool(false)
["JPG Support"]=>
bool(false)
["PNG Support"]=>
bool(true)
["WBMP Support"]=>
bool(true)
["XBM Support"]=>
bool(false)
}
Возможно что у вас [Font Support"]=> bool(false) тогда прийдеться искать другой хостинг/шелл =) Можно конечно обойтись без шрифта но ето уже не айс.

Pernat1y 17.02.2009 15:22

зачем крон, если картинку можно генерить при каждом обращении?

blaga 17.02.2009 15:35

Pernat1y, а если у тебя очень много мессаг на форумах? и все будут динамически обновляться? тебе свой хост не жалко будет?

Zitt 17.02.2009 15:47

Цитата:

зачем крон, если картинку можно генерить при каждом обращении?
изза этого на ачате и убрали подписи )))

Pashkela 17.02.2009 15:54

Цитата:

изза этого на ачате и убрали подписи )))
вряд ли из-зи этого. Часы - детские шалости, кого интересуют нагрузки на ВАШ хост. Скорее всего убраны из-за многочисленных попыток получить доступ к приват-инфо (IP, Refer и т.д.)

Gifts 17.02.2009 17:38

b3 Как это не обращусь? Добавить header('Content-type: image/png');
Вместо imagepng($im,"time.png"); просто imagepng($im); И естественно убрать цикл и слип.
Код HTML:

<img src="ваш_сайт/этот_скрипт.php" />
Вернет вашу картинку, если не нравится расширение php добавить в htaccess
Код:

<Files "имя_скрипта.png">
AddType application/x-httpd-php .png
</Files>


Pernat1y 17.02.2009 18:35

пфф. ты свой .php скрипт переименовываешь в img.png, например, и в ту-же папку кладешь .htaccess с
<Files "img.png">
AddType application/x-httpd-php .png
</Files>

и дальше инклудишь как обычную картинку
[IMaGe]http://site/img.png[/IMaGe]

зы. если боимся, что заДДоСят, то врубаем кэш с определенным временем жизни )

Цитата:

Сообщение от blaga
Pernat1y, а если у тебя очень много мессаг на форумах? и все будут динамически обновляться? тебе свой хост не жалко будет?

у меня на игровом форуме похожая штука есть. только она еще через соксы коннектиться к серваку, получает его статус, и рисует картинку. и ничего. не умер )

Zitt 17.02.2009 19:12

Цитата:

вряд ли из-зи этого. Часы - детские шалости, кого интересуют нагрузки на ВАШ хост. Скорее всего убраны из-за многочисленных попыток получить доступ к приват-инфо (IP, Refer и т.д.)
иммено из-за этого.... тока там тема была про репутацию...
Цитата:

кого интересуют нагрузки на ВАШ хост.
админов... ))

Zitt 17.02.2009 20:12

да не, с ачатом немножго другая ситаиция была.. просто када номер1 выложил юзербар на котором выводилаьс репутация... на ачате многие повесили и на других форумах... вот и представьте какая нагрузка была на сервак... 5чел обновляет тему мало того nxj они сами запрашиваю свою\чужую репу так еще и юзербар ломиться... ну думаю суть понятна..

Pashkela 17.02.2009 20:22

ну дык элементарную проверку вставить на рефер и всё, если хост не forum.antichat.ru - exit, делов-то. Я так на всех юзербарах делаю, тырят и обламываются на других-то форумах:)

PHP код:

$otkuda=getenv("HTTP_REFERER"); 
$patern "/^(http:\/\/)?([^\/]+)/i"
$otkuda1 preg_match($patern$otkuda$rezz);
if (
$rezz[2]=="forum.antichat.ru")
{
....
}
else exit; 



Время: 19:59