За последние 24 часа нас посетили 18350 программистов и 1598 роботов. Сейчас ищут 899 программистов ...

Легкая страничка мониринга

Тема в разделе "PHP для новичков", создана пользователем tooncheg, 15 сен 2016.

  1. tooncheg

    tooncheg Новичок

    С нами с:
    14 сен 2016
    Сообщения:
    42
    Симпатии:
    4
    • Оформляйте код правильно. Используйте кнопку </> в редакторе.
    Нужна помощь. Есть система мониторинга которая формирует png файлы с графиками. Грубо говоря устройств в сети порядка десятка. Можно сделать используя только разметку html, но очень не удобно получается. Помогите причесать это дело поприличнее. Исходные данные такие:
    HTML:
    1. /monitiring/sw/sw1/errors1.png
    2. /monitiring/sw/sw1/traffic1.png
    3. /monitiring/sw/sw1/cpumem1.png
    4. .
    5. .
    6. .
    7. /monitiring/sw/swN/errorsN.png
    8. /monitiring/sw/swN/trafficN.png
    9. /monitiring/sw/swN/cpumemN.png (N - количество устройств)
    10.  
    11. <BODY bgcolor="#ffffff" text="#000000" link="#000000" vlink="#000000" alink="#000000">
    12. <H1>Monitor Net</H1>
    13.  
    14. <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=10>
    15. <tr>
    16. <td><DIV><B>Traffic 192.168.1.200</B></DIV>
    17. <DIV><A HREF=""><IMG BORDER=1 ALT="" SRC="/monitoring/sw/sw1/traff1.png" WIDTH="525" HEIGHT="275"></A><BR>
    18. <td><DIV><B>Errors In 192.168.1.200</B></DIV>
    19. <DIV><A HREF="detail-errors1.html"><IMG BORDER=1 ALT="" SRC="/monitoring/sw/sw1/errors1_In.png" WIDTH="525" HEIGHT="275"></A><BR>
    20. <td><DIV><B>Errors Out 192.168.1.200</B></DIV>
    21. <DIV><A HREF="detail-errors1.html"><IMG BORDER=1 ALT="" SRC="/monitoring/sw/sw1/errors1_Out.png" WIDTH="525" HEIGHT="275"></A><BR>
    22. <td><DIV><B>Cpu/Mem 192.168.1.200</B></DIV>
    23. <DIV><A HREF="detail-cpumem1.html"><IMG BORDER=1 ALT="" SRC="/monitoring/sw/sw1/cpumem1.png" WIDTH="525" HEIGHT="275"></A><BR>
    24. </td></tr>
    25. <tr>
    26. <td></td>
    27. </tr>
    28. </BODY>
    29. </HTML>
    такой вид устраивает. Вопрос: как при помощи php автоматизировать это.
     
  2. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Ответ - с помощью цикла.
     
  3. tooncheg

    tooncheg Новичок

    С нами с:
    14 сен 2016
    Сообщения:
    42
    Симпатии:
    4
    как быть с номерами IP в цикле?
     
  4. tooncheg

    tooncheg Новичок

    С нами с:
    14 сен 2016
    Сообщения:
    42
    Симпатии:
    4
    А возможно ли вот эту часть запихнуть в функцию передавать ей два параметра и вернуть результат в виде графиков на странице?
    HTML:
    1.  
    2. <td><DIV><B>Traffic 192.168.1.200</B></DIV>
    3. <DIV><A HREF=""><IMG BORDER=1 ALT="" SRC="/monitoring/sw/sw1/traff1.png" WIDTH="525" HEIGHT="275"></A><BR>
    4. <td><DIV><B>Errors In 192.168.1.200</B></DIV>
    5. <DIV><A HREF="detail-errors1.html"><IMG BORDER=1 ALT="" SRC="/monitoring/sw/sw1/errors1_In.png" WIDTH="525" HEIGHT="275"></A><BR>
    6. <td><DIV><B>Errors Out 192.168.1.200</B></DIV>
    7. <DIV><A HREF="detail-errors1.html"><IMG BORDER=1 ALT="" SRC="/monitoring/sw/sw1/errors1_Out.png" WIDTH="525" HEIGHT="275"></A><BR>
    8. <td><DIV><B>Cpu/Mem 192.168.1.200</B></DIV>
    9. <DIV><A HREF="detail-cpumem1.html"><IMG BORDER=1 ALT="" SRC="/monitoring/sw/sw1/cpumem1.png" WIDTH="525" HEIGHT="275">
    [/html]
     
  5. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Можно, конечно, но..
    А рисоваться эти PNG-шки как должны? Тоже на стороне PHP?
     
  6. tooncheg

    tooncheg Новичок

    С нами с:
    14 сен 2016
    Сообщения:
    42
    Симпатии:
    4
    png уже нарисованы и лежат в папках их надо только отобразить.
     
  7. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Ну тогда вы мыслите в верном направлении. Все, что можно сделать на HTML статично, может быть сделано на PHP процедурно. Рекомендую ознакомиться. http://phpfaq.ru/newbie/na_tanke

    Если заинтересованы в том, чтобы решить это самостоятельно, я могу перенести тему в раздел для новичков.
     
  8. tooncheg

    tooncheg Новичок

    С нами с:
    14 сен 2016
    Сообщения:
    42
    Симпатии:
    4
    хорошо.
     
  9. tooncheg

    tooncheg Новичок

    С нами с:
    14 сен 2016
    Сообщения:
    42
    Симпатии:
    4
    Если я пишу так, то получается треш. Правильно ли понимаю, что можно оформить подобное через echo?
    PHP:
    1. function createHtml($IP) {
    2. echo "<td>"
    3. echo "<DIV><B>Traffic 192.168.15.$IP</B></DIV>"
    4. echo "<DIV><A HREF="www"><IMG BORDER=1 SRC="/monitoring/sw/sw$IP/traff$IP.png" WIDTH="525" HEIGHT="275"></A><BR>"
    5. echo "<DIV><B>Errors In 192.168.15.$IP</B></DIV>"
    6. echo "<DIV><A HREF="detail-errors.html"><IMG BORDER=1 SRC="/monitoring/sw/sw$IP/errors$IP_In.png" WIDTH="525" HEIGHT="275"></A><BR>"
    7. echo "<DIV><B>Errors Out 192.168.15.$IP</B></DIV>"
    8. echo "<DIV><A HREF="detail-errors.html"><IMG BORDER=1 SRC="/monitoring/sw/sw$IP/errors$IP_Out.png" WIDTH="525" HEIGHT="275"></A><BR>"
    9. echo "<DIV><B>Cpu/Mem 192.168.15.$IP</B></DIV>"
    10. echo "<DIV><A HREF="detail-cpumem.html"><IMG BORDER=1 SRC="/monitoring/sw/sw$IP/cpumem$IP.png" WIDTH="525" HEIGHT="275"></A><BR>"
    11. echo "</td>"
    12.     }
     
  10. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    PHP:
    1. <?php
    2. function createHtml($IP) {
    3. ?>
    4. <td>
    5. <DIV><B>Traffic 192.168.15.<?=$IP?></B></DIV>
    6. <DIV><A HREF="www"><IMG BORDER=1 SRC="/monitoring/sw/sw<?=$IP?>/traff<?=$IP?>.png" WIDTH="525" HEIGHT="275"></A><BR>
    7. <DIV><B>Errors In 192.168.15.<?=$IP?></B></DIV>
    8. <DIV><A HREF="detail-errors.html"><IMG BORDER=1 SRC="/monitoring/sw/sw<?=$IP?>/errors<?=$IP?>_In.png" WIDTH="525" HEIGHT="275"></A><BR>
    9. <DIV><B>Errors Out 192.168.15.<?=$IP?></B></DIV>
    10. <DIV><A HREF="detail-errors.html"><IMG BORDER=1 SRC="/monitoring/sw/sw<?=$IP?>/errors<?=$IP?>_Out.png" WIDTH="525" HEIGHT="275"></A><BR>
    11. <DIV><B>Cpu/Mem 192.168.15.<?=$IP?></B></DIV>"
    12. <DIV><A HREF="detail-cpumem.html"><IMG BORDER=1 SRC="/monitoring/sw/sw<?=$IP?>/cpumem<?=$IP?>.png" WIDTH="525" HEIGHT="275"></A><BR>
    13. </td>
    14. <?php
    15.     }
    https://secure.php.net/manual/ru/language.basic-syntax.phpmode.php
    http://php.net/manual/ru/function.echo
     
    tooncheg нравится это.
  11. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Так, человек пытается что-то делать, задает вопросы, реагирует на ответы. Тема переносится в нормальный раздел. Добро пожаловать на форум.
     
    tooncheg нравится это.
  12. tooncheg

    tooncheg Новичок

    С нами с:
    14 сен 2016
    Сообщения:
    42
    Симпатии:
    4
    Навоялась такая штука. Вопрос: /monitoring/sw/sw$a/errors$a_In.png /monitoring/sw/sw$a/errors$a_Out.png что в этой строке не нравится php, т.е. не отображаются на странице. Файлы существую и лежат по корректному пути.
    PHP:
    1. <?php
    2.    echo "<HTML>";
    3.    echo "<BODY>";
    4.    echo "<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=10>";
    5.    echo "<H1>Monitor Net</H1>";
    6.    echo "</BODY>";
    7.    function Myfunc($a) {
    8.     echo "<tr>";
    9.     echo "<td><DIV><B>Traffic 192.168.15.$a</B></DIV>";
    10.     echo "<DIV><A HREF=\"\"><IMG BORDER=1 ALT=\"\" SRC=\"/monitoring/sw/sw$a/traff$a.png\" WIDTH=\"525\" HEIGHT=\"275\"></A><BR>";
    11.     echo "<td><DIV><B>Errors In 192.168.15.$a</B></DIV>";
    12.     echo "<DIV><A HREF=\"\"><IMG BORDER=1 ALT=\"\" SRC=\"/monitoring/sw/sw$a/errors$a_In.png\" WIDTH=\"525\" HEIGHT=\"275\"></A><BR>";
    13.     echo "<td><DIV><B>Errors Out 192.168.15.$a</B></DIV>";
    14.     echo "<DIV><A HREF=\"\"><IMG BORDER=1 ALT=\"\" SRC=\"/monitoring/sw/sw$a/errors$a_Out.png\" WIDTH=\"525\" HEIGHT=\"275\"></A><BR>";
    15.     echo "</tr>";
    16.     return;
    17.      }
    18.    echo "</BODY>";
    19.    echo "</HTML>";
    20.  
    21. ?>
    22.  
    23. <?php
    24. Myfunc(200);
    25. ?>
    26. <?php
    27. Myfunc(202);
    28. ?>
    29. <?php
    30. Myfunc(203);
    31. ?>
    --- Добавлено ---
    а geany не даёт такую подсветку как тут. Понял что не так.
     
  13. tooncheg

    tooncheg Новичок

    С нами с:
    14 сен 2016
    Сообщения:
    42
    Симпатии:
    4
    Не понимаю как ни пробовал не получается. SRC=\"/monitoring/sw/sw$a/errors\"$a\"_Out.png\" или так SRC=\"/monitoring/sw/sw$a/errors$a\_Out.png\"
     
  14. tooncheg

    tooncheg Новичок

    С нами с:
    14 сен 2016
    Сообщения:
    42
    Симпатии:
    4
    решил бредовым способом в функцию добавил :
    $str1="_In.png";
    $str2="_Out.png";
     
  15. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    @tooncheg я же дал хороший пример как отделить PHP от HTML :oops:
     
  16. tooncheg

    tooncheg Новичок

    С нами с:
    14 сен 2016
    Сообщения:
    42
    Симпатии:
    4
    Можно небольшой пример использования внутри php html разметки. :(
     
  17. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
  18. tooncheg

    tooncheg Новичок

    С нами с:
    14 сен 2016
    Сообщения:
    42
    Симпатии:
    4
    Не понимаю что там и как :
    PHP:
    1. <?php
    2. function createHtml($IP) {
    3. ?>
    4. <td>
    5. ...
    6. <?php
    7.     }
    1. <?php ... ?> странно конструкция открывается и закрывается.
    2. Если html разметка вынесена за функцию, то как она будет добавлять необходимые картинки на странице? Если не вынесена, то возращаюсь к вопросу 1.
     
  19. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    запусти код и посмотри в браузере исходный код
    PHP:
    1. <?php
    2. function test($text='empty') {
    3. ?>
    4.          $text
    5.          <?=$text?>
    6. <?php
    7. }
    8. ?>
    9. <!DOCTYPE html>
    10. <html>
    11. <head>
    12.     <title></title>
    13. </head>
    14. <body>
    15. <pre>
    16. <?php
    17. test('Hello World!');
    18. ?>
    19.  
    20. </pre>
    21. </body>
    22. </html>
     
    tooncheg нравится это.
  20. tooncheg

    tooncheg Новичок

    С нами с:
    14 сен 2016
    Сообщения:
    42
    Симпатии:
    4
    Теперь понятно, но нигде не втретил такого, все что было просмотрено все было внутри <php...?>
     
  21. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
  22. tooncheg

    tooncheg Новичок

    С нами с:
    14 сен 2016
    Сообщения:
    42
    Симпатии:
    4
  23. tooncheg

    tooncheg Новичок

    С нами с:
    14 сен 2016
    Сообщения:
    42
    Симпатии:
    4
    PHP:
    1. <?php
    2. function Myfunc($a) {
    3. ?>
    4. <TABLE>
    5. <td><DIV><B>Traffic 192.168.15.<?=$a?></B></DIV>
    6. <DIV><A HREF="detail.php"><IMG BORDER=1 ALT="" SRC="/monitoring/sw/sw<?=$a?>/traff<?=$a?>.png" WIDTH="525" HEIGHT="275"></A><BR>
    7. <td><DIV><B>Errors In 192.168.15.<?=$a?></B></DIV>
    8. <DIV><A HREF="detail.php"><IMG BORDER=1 ALT="" SRC="/monitoring/sw/sw<?=$a?>/errors<?=$a?>_In.png" WIDTH="525" HEIGHT="275"></A><BR>
    9. <td><DIV><B>Errors Out 192.168.15.<?=$a?></B></DIV>
    10. <DIV><A HREF="detail.php"><IMG BORDER=1 ALT="" SRC="/monitoring/sw/sw<?=$a?>/errors<?=$a?>_Out.png" WIDTH="525" HEIGHT="275"></A><BR>
    11. <td><DIV><B>Cpu/Mem 192.168.15.<?=$a?></B></DIV>
    12. <DIV><A HREF="detail.php"><IMG BORDER=1 ALT="" SRC="/monitoring/sw/sw<?=$a?>/cpumem<?=$a?>.png" WIDTH="525" HEIGHT="275"></A><BR>
    13. </TABLE>
    14. <?php
    15. }
    16. ?>
    17. <!DOCTYPE html>
    18. <html>
    19. <head>
    20.     <title>Monitoring</title>
    21. </head>
    22. <body>
    23. <H1>Monitoring Temperature</H1>
    24. <DIV><A HREF="detail.php"><IMG BORDER=1 ALT="" SRC="temp.png" WIDTH="525" HEIGHT="275"></A><BR>
    25. <H1>Monitor Net</H1>
    26. <pre>
    27.  
    28. <?php
    29. Myfunc(200);
    30. ?>
    31. <?php
    32. Myfunc(202);
    33. ?>
    34. <?php
    35. Myfunc(203);
    36. ?>
    37. </pre>
    38. </body>
    39. </html>
    Как можно детализированный отчет. Допустим я кликаю на одной из картинок и попадаю на соответствующую
    страницу с детальным отчетом (неделя, месяц....) соответствующего графика(рисунка).
     
  24. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    да
    через параметры https://secure.php.net/manual/ru/language.variables.external.php
     
  25. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Можно и ссылку сделать через тег A и href атрибут, это в HTML смотри.
    Ты по какой книге изучаешь HTML и PHP?

    что значит не удачный? ты не можешь сделать ссылку/форму и потом при нажатии на неё получить данные в $_GET или $_POST?
    Разница между GET и POST понятна? Если нет, искал в интернете о них?
     
    tooncheg нравится это.