У меня есть файл с именем «test.txt», который имеет следующий контент:
BEGIN_SESSION 7 1h+ 47 30mn-1h 20 15mn-30mn 16 5mn-15mn 43 2mn-5mn 29 30s-2mn 35 0s-30s 170 END_SESSION
И благодаря пользователю wumm он помогает мне найти способ извлечь данные и отобразить его. Поэтому проблема заключается в следующем: я пропустил эту функцию, которая отображает данные в круговой диаграмме:
function awstats_extract_session($session) { # Session range - Number of visits $session = explode("\n", $session) ; unset($session[(count($session)-1)]) ; unset($session[0]) ; $sessions = array(); foreach ($session as $key => $value) { $session[$key] = explode(" ", $value) ; //print_array($session[$key]); $sessions[] = array($session[$key][0],$session[$key][1]) ; } $sessions = json_encode($sessions, JSON_NUMERIC_CHECK) ; ?> <div id="collapse_awstats_extract_session" class="accordion-body collapse in"> <div class="accordion-inner"> <div id="chart-session" style="height:350px; width:700px; margin:0 auto;"></div> </div> </div> <script> jQuery(document).ready(function(){ var data = <?php echo $sessions; ?>; var plot1 = jQuery.jqplot('chart-session', [data], { title: 'Durée des visites', seriesDefaults: { renderer: jQuery.jqplot.PieRenderer, rendererOptions: { showDataLabels: true, }, }, legend: { show:true, location: 'e' }, }); }); </script>
И есть функция, которая вызывает предыдущую:
<?php echo '<div class="accordion-group">'; preg_match("/BEGIN_SESSION(.*)END_SESSION/is", $awstats, $matches); $session = $matches[0]; preg_match('/30s-2mn ([0-9]{2})/ms', $session, $matches); $a = $matches[1]; preg_match('/0s-30s ([0-9]{3})/ms', $session, $matches); $b = $matches[1]; var_dump($a+$b); awstats_title("<a class='accordion-toggle' data-toggle='collapse' data-parent='#accordion_awstats_navigation' href='#collapse_awstats_extract_session'><span class='glyphicon glyphicon-collapse-down'></span> Durée des visites</a>", "session") ; awstats_extract_session($session) ;
И я бы хотел, чтобы он отображал все содержимое, но последние два «30s-2mn 35» «0s-30s 170». Я бы хотел, чтобы это было «0s-2mn 205». Пожалуйста, помогите PS: Или есть способ измените файл test.txt таким образом, чтобы иметь «test2.txt»:
BEGIN_SESSION 7 1h+ 47 30mn-1h 20 15mn-30mn 16 5mn-15mn 43 2mn-5mn 29 0s-2mn 205 END_SESSION
Благодаря!