Как исключить пустые выводы файлов?

Здравствуйте сделал постраничный вывод файлов и вот например задано по скажем 10 файлов на страницу а файлов например 13 выводятся пустые строки как избавиться подскажите пожалуйста
5bdccb3cefa4a697382505.png
<?php 
 $site="http://".$_SERVER['SERVER_NAME'];
$files = glob("../data/telegram/*.*");
//sort($files);
//$summa = 0;
$id = 0;
foreach($files as $file){
    $name = basename($file);
    $arr[$id]['name'] = basename($file);
    $arr[$id]['size'] = round(filesize($file)/1024,2);    
    $arr[$id]['count'] = count(file($file));    
    $summa += count(file($file)); 
    $id++;   
}


$count_file = count($files);

$pages = ceil($count_file/$tnumber);

$page = $_GET['page'];  

if(!$page OR $page=='')  
{  
        $nav_min = 0;  
        $nav_max = $tnumber - 1;  
}else{  
        $nav_min = ($page * $tnumber) - $tnumber;  
        $nav_max = ($tnumber * $page) - 1;  
}  

# Вывод  
 for($i = $nav_min; $i <= $nav_max; $i++)
 
{  
      $names = $arr[$i]['name'];
      $size =  $arr[$i]['size'];
      $count = $arr[$i]['count'];

	      echo "<tr>
		<td class=\"par\" style=\"padding:3px 0px 1px 20px; \">$names</td>
		<td align=\"center\" width=\"100\" class=\"par\"><b>$size</b> кб</td>
		<td align=\"center\" width=\"80\" class=\"par\"><b>$count</b></td>		
		<td align=\"center\" width=\"50\" class=\"par\"><a href='$site/data/telegram/".$names."' target=\"_blank\" download=\"\" ><img border='0' width='16' src='skin/image/downloads.png' title='Скачать файл'></a></td>
		<td  align=\"center\" width=\"50\" class=\"par\"><a title='ссылка' href='#' onclick=\"prompt('Ссылка на Файл. Для копирования выделите и скопируйте или нажмите Ctrl+C.','$site/data/telegram/$names'); return false;\"><img border=0 src=skin/image/linck.png title='Ссылка на файл'></a></td>
		<td  align=\"center\" width=\"50\" class=\"par\"><a href='telegram_delete_file.php?remove=".$names."' onclick='return confirmDelete();' ><img border=0 src=skin/image/b_drop.png title='Удалить файл'></a></td>
	    </tr>";
			  
}
   	      echo "<tr>
		<td align=\"left\" colspan =\"2\"  style=\"padding:10px 0px 10px 20px; \">Файлов : <b style='font-size: 14px';>$count_file</b></td>
		<td align=\"center\" width=\"100\" ><b>$summa</b></td>
		<td colspan =\"3\" width=\"150\" ></td>		
	</tr>";
	
?>


<?php 
		# Навигация  

    for($fpr = '', $i =1; $i <= $pages; $i++)
    {
        echo $fpr=(($i == 1 || $i == $pages || abs($i-$page) < 2) ? ($i == $page ? "<b style='font-size: 14px'>[$i]</b> | " : ' <a href="?page='.$i.'">'.$i.'</a> | ') : (($fpr == ' ... ' || $fpr == '')? '' : ' ... '));
    }
		?>
  • Вопрос задан
  • 41 просмотр
Пригласить эксперта
Ответы на вопрос 1
@Monte
Вам перед выводом for($i = $nav_min; $i <= $nav_max; $i++)

необходимо добавить проверку, что $nav_max не превышает количество записей в массиве. Что-то наподобие
if ($nav_max > count($arr)) {
    $nav_max =  count($arr) - 1;
}


или в сокращенном варианте
$nav_max = ($nav_max > count($arr)) ? count($arr) : $nav_max;
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы