Веля и красный столбик.

Discussion in 'PHP' started by Велемир, 12 Apr 2009.

  1. Велемир

    Joined:
    19 Jun 2006
    Messages:
    1,123
    Likes Received:
    96
    Reputations:
    -25
    Добрый вечер,ребятки.Такая вот проблема:

    Есть скрыпт,расположенный по адресу

    http://www.lumiro.net/ub/donate.php

    Там вы все увидите небольшого размера красненький столбик.Как реализован механизм изменения высоты этого самого столбика взависимости от онлайна ? Все мои догадки уходят в небытие:(.Если можно,то с готовым примером.Спасибо:)
     
  2. wildshaman

    wildshaman Elder - Старейшина

    Joined:
    16 Apr 2008
    Messages:
    478
    Likes Received:
    483
    Reputations:
    99
    берется скрипт. Откуда-то берется значение онлайн (из базы). при просмотре скрипта\картинки генерится картинка с помощью GD где зависимости от онлайна делается разный размер столбика, опять же, средствами GD. Хедеры ставятс картиночные. готово.
     
  3. OdaN

    OdaN Elder - Старейшина

    Joined:
    4 Mar 2006
    Messages:
    192
    Likes Received:
    17
    Reputations:
    1
    PHP:
    <? 
    $online=online(); //количество людей онлайн
    $gif=imagecreate(15,$online); 
    $bg=imagecolorallocate($gif,255,0,0); 
    header("Content-Type: image/gif"); 
    imagegif($gif); 
    ?>
    Получаем картинку столбика, нужной высоты потом накладываем на остальную картинку... собственно как-то так... (можно сделать не по пикселу на человека, а там проценты иль еще какнить) все зависит только от фантазии...
     
  4. .:EnoT:.

    .:EnoT:. Сексуальное чудовище

    Joined:
    29 May 2007
    Messages:
    803
    Likes Received:
    559
    Reputations:
    50
    А при чём там онлайн?

    Короче пример с рассчётом процентов рисования линии, надеюсь разберёшься сам.

    PHP:

    <?php
    error_reporting
    (E_ALL);

    $img imageCreate(300,60); // Создаем изображение
    imageColorAllocate($img250250200); // Накладываем цвет

    $string_color imageColorAllocate($img20000); // Цвет текста
    imageString($img503'0'$string_color); // Рисуем 0
    imageString($img52803'100%'$string_color); // Рисуем 100%

    $percent = !empty($_GET['percent']) && is_numeric($_GET['percent']) ? intval($_GET['percent']) : 0// Берём проценты из гета
    $pix = (300 $percent) / 100// Высчитываем длину линии, в соответствии с заданными процентами и шириной изображения

    $line_color imageColorAllocate($img100100100); // Цвет линии
    for ($i 0$i 20$i++) {
        
    imageLine($img0$i 20$pix$i 20$line_color); // Рисуем линии
    }

    header("Content-type: image/png");
    imagePng($img);
    imageDestroy($img);
    ?>

     
  5. Велемир

    Joined:
    19 Jun 2006
    Messages:
    1,123
    Likes Received:
    96
    Reputations:
    -25
    Пасиппи:)) На досуге попробую
     
  6. OdaN

    OdaN Elder - Старейшина

    Joined:
    4 Mar 2006
    Messages:
    192
    Likes Received:
    17
    Reputations:
    1
    Может я конечно чего-то не понимаю, но объясните мне дураку, как считать онлайн в процентах? В каком случае онлайн будет "100%", и что случится если зайдет еще один человек? =)
     
    1 person likes this.
  7. .:EnoT:.

    .:EnoT:. Сексуальное чудовище

    Joined:
    29 May 2007
    Messages:
    803
    Likes Received:
    559
    Reputations:
    50
    Вот я о том же ) Тем более там вывод пожертвований в процентах, а не онлайна )
     
  8. OdaN

    OdaN Elder - Старейшина

    Joined:
    4 Mar 2006
    Messages:
    192
    Likes Received:
    17
    Reputations:
    1
    //Внимательнее посмотрел на картинку, въехал =))) Торможу сегодня >.<

    Кстати нидо будет гденить на форуме попробоват - взять за 100% максимальный онлайн, и от него рисовать картинку с нынешним =)
     
    #8 OdaN, 12 Apr 2009
    Last edited: 12 Apr 2009
  9. .:EnoT:.

    .:EnoT:. Сексуальное чудовище

    Joined:
    29 May 2007
    Messages:
    803
    Likes Received:
    559
    Reputations:
    50
    Ну за 100% можно будет брать только кол-во зареганых пользователей форума, а гости - понятие безлимитное )
     
  10. OdaN

    OdaN Elder - Старейшина

    Joined:
    4 Mar 2006
    Messages:
    192
    Likes Received:
    17
    Reputations:
    1
    тоже вариант, но имхо количество зареганных сильно отличается от максимального онлайна. и делать картинки с онлайном 5-10% как-то... незнаю, стыдно чтоль =)

    Взять хоть античат - зрегано 62711, онлайн 911 (0,4%)
     
    #10 OdaN, 12 Apr 2009
    Last edited: 12 Apr 2009
  11. Велемир

    Joined:
    19 Jun 2006
    Messages:
    1,123
    Likes Received:
    96
    Reputations:
    -25
    Хыхых,прям дебаты :))
     
  12. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    Кто-нибудь где-нибудь хоть на одном солидном сайте видел отображение пользователей онлайн в виде хоть какой диаграммы? Я нет. Главное - чтобы их просто было НЕМЕРЯНО. А графики тормозят работу сайта, тем более посещаемого.
     
  13. Sharky

    Sharky Elder - Старейшина

    Joined:
    1 May 2006
    Messages:
    487
    Likes Received:
    312
    Reputations:
    46
    ну извращенцев хватает..а чтоб не так тормозило можно кроном запускать хотя бы раз в 15 минут и сохранять диаграмму
     
  14. OdaN

    OdaN Elder - Старейшина

    Joined:
    4 Mar 2006
    Messages:
    192
    Likes Received:
    17
    Reputations:
    1
    Во, кстати, вопрос, а как с помощью GD не просто родить картинку, а экспортировать в нормальный рисунок?