Rubemlrm Posted July 21, 2012 at 11:12 AM Report #469489 Posted July 21, 2012 at 11:12 AM Bons dias, Estava aqui a fazer um projecto em php para adquirir as informações relativos ao servidor onde está o projecto.No entanto não estou a conseguir por isso a fazer refresh automatico das estatisticas.Ao seja assim que carrego a página mostra o uptime e só muda o valor depois de fazer F5. Existe alguma forma de gerar isto dinamicamente só com php ou tambem é necessário com javascript ?De referir que percebo muito pouco de JS. Deixo aqui o código: <?php echo "server status<br/>"; $uptime = @exec('uptime'); preg_match("/averages?: ([0-9\.]+),[\s]+([0-9\.]+),[\s]+([0-9\.]+)/",$uptime,$avgs); $uptime = explode(' up ', $uptime); $uptime = $uptime[0]; $start=mktime(0, 0, 0, 1, 1, date("Y"), 0); $end=mktime(0, 0, 0, date("m"), date("j"), date("y"), 0); $diff=$end-$start; $days=$diff/86400; $percentage=($uptime/$days) * 100; $load=$avgs[1].",".$avgs[2].",".$avgs[3].""; echo '<div>Average Load: '.$load.'</div>'; echo 'Uptime: '.$uptime.'<br />'; $currentLA = file('/proc/loadavg'); $currentLA = explode(" ", $currentLA[0]); $maxLA = 5; $laPercent = ($currentLA[0] / $maxLA) * 100; ?> <div class="load"> <span><?echo 'Uptime: '.$uptime ?> </span> <div class="load-bar" width='<?$laPercent;?>'></div> </div> <??>
HappyHippyHippo Posted July 21, 2012 at 11:20 AM Report #469491 Posted July 21, 2012 at 11:20 AM Existe alguma forma de gerar isto dinamicamente só com php ou tambem é necessário com javascript ?De referir que percebo muito pouco de JS. é melhor começares a aprender javascript, não existe forma de com uma linguagem server-side forçar o client-side a trabalhar ... IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
Rubemlrm Posted July 21, 2012 at 12:27 PM Author Report #469498 Posted July 21, 2012 at 12:27 PM (edited) é melhor começares a aprender javascript, não existe forma de com uma linguagem server-side forçar o client-side a trabalhar ... Podes deixar aqui um exemplo de como poder fazer isso.É que estive a ver exemplos para fazer o que quero mas era reagindo ao click num item. Consegui por aquilo a fazer o que queria com isto : <script> var refreshId = setInterval(function() { $('.left_bar').load('includes/left_sidebar.php'); }, 1000); </script> Existe alguma maneira melhor? Edited July 21, 2012 at 12:38 PM by Rubemlrm
HappyHippyHippo Posted July 21, 2012 at 12:36 PM Report #469500 Posted July 21, 2012 at 12:36 PM para todos os 5 segundos setInterval(function(){ /* perguntar ao servidor a informação a apresentar */ /* apresentar informação respondida */ },5000); IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
Rubemlrm Posted July 21, 2012 at 01:06 PM Author Report #469509 Posted July 21, 2012 at 01:06 PM para todos os 5 segundos setInterval(function(){ /* perguntar ao servidor a informação a apresentar */ /* apresentar informação respondida */ },5000); Thanks 😉 eu agora experimentei o script que mostrei a bocado e quando tou a ir buscar o valor a uma class ele deixa de fazer actualização :/ e não estou a ver porque .
HappyHippyHippo Posted July 21, 2012 at 01:30 PM Report #469515 Posted July 21, 2012 at 01:30 PM com a informação que disponibilizas não posso dizer nada - não dizes se aparecem erros na consola do javascript - não dizes que tipo de informação a resposta ao xmlHttpRequest contem e que tal dares um url para se poder ver isso a funcionar e a estoirar ?? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
Rubemlrm Posted July 21, 2012 at 01:54 PM Author Report #469519 Posted July 21, 2012 at 01:54 PM com a informação que disponibilizas não posso dizer nada - não dizes se aparecem erros na consola do javascript - não dizes que tipo de informação a resposta ao xmlHttpRequest contem e que tal dares um url para se poder ver isso a funcionar e a estoirar ?? eu ainda estou com isto em localhost . Daqui a bocado tento por no meu alojamento se tiver tempo. Agora só tenho aqui a mão a class que fiz. class server_status{ function format_time($seconds){ $secs = intval($seconds % 60); $mins = intval($seconds / 60 %60); $hours = intval($seconds /3600 % 24); $days = intval($seconds /86400); if($days < 1){ $uptimeString =$hours."h:".$mins."m:".$secs."s"; }else{ $uptimeString = $days ."d:".$hours."h:".$mins."m:".$seconds."s"; } return $uptimeString; } }
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now