Собственно реализация того, что описал vlad1965vlad. Присваиваем переменной $fileexist значение по умолчанию false. В цикле, там где проверяется расширение файлов, присваиваем этой переменной значение true. Это означает, что условие проверки расширения хотя бы один раз отработало, а значит у нас есть хотя бы один файл. После цикла добавляем условие проверки значения переменной $fileexist. Если оно всё ещё false, значит ни одного файла найдено не было. Выводим соответствующее сообщение.
<hr />
$all_files = scandir('pages');
$fileexist=false;
echo '<div id=main_block><div>Список файлов</div>';
echo '<table id=table_fil align=center>';
// в цикле перебираем файлы
foreach($all_files as $one_file){
// проверяем не директория ли
if(!is_dir($one_file)){
// проверяем расширение
if(pathinfo($one_file, PATHINFO_EXTENSION) == 'html'){
// выполняем вывод списка
$file_name = explode('.', $one_file); // получаем имя
echo '<tr><td id=td width=80%>'.$file_name[0].'</td>';
echo '<td id=td align=center width=10%><a href="red.php?edit_page='.$file_name[0].'">Редактировать</a></td><td align=center id=td width=10%><a href="?del='.$one_file.'">Удалить</a></td></tr>';
$fileexist=true;
}
}
}
if ($fileexist==false)
echo 'Файлов нет!';