if ($handle = @opendir("small")){
while (false !== ($file = readdir($handle))){
if ($file != "." && $file != "..") $filesarr[] = trim($file);
}
$fotos_per_page = 20;
$total_pages = ceil(count($filesarr)/$fotos_per_page);
/* Если страницы с запрашиваемым номером нет, считаем, что номер страницы = 1
Думаю, дополнительно нужно убедиться, что переданное значение $_GET['from']
является числом, изменил код
*/
if (($_GET['from']<1) || ($_GET['from']>$total_pages) || !is_numeric($_GET['from'])){
$_GET['from']=1;
}
for ($i=0; $i<$fotos_per_page; $i++){
/* Выводим элемент массива с индексом, соответствующим переменной i (которая
может принимать значения от 0 до 19)
Вы выводили одни и те же элементы,
НЕЗАВИСИМО от номера запрашиваемой страницы и я изменил код
*/
echo "
\n";
}
for ($i=0; $i<$total_pages; $i++){
/* если номер запрашиваемой страницы совпадает со значением переменной i...
Мы начали перебор от нуля, значит, при сравнении надо это учесть,
ведь нулевой страницы не существует, изменил код */
if ($i==$_GET['from']-1){
/* выводим значение переменной i
если это номер страницы, то он должен быть на 1 больше, чем i */
echo " " . $i+1 . " ";
} else {
echo " ".($i+1)." ";
}
}
closedir($handle);
}
?>