Галерея для изображений. Берет все изображения из папки /walp. Автоматически считает все картинки в папке и постранично выводит их уменьшенные копии ( по 4 на странице ). При нажатии на мини - картинку, кидает на оригинал. НО на всех страницах выводит только первые 4 картинки Подскажите как исправить? PHP: $dir = opendir ("./walp"); $count_f = 0; while ( $file = readdir ($dir)) { if (( $file != ".") && ($file != "..")) { $count_f = $count_f + 1; } $walp[$count_f] = $file; } closedir ($dir); // Выводим картинки в зависимоти от страницы if ($p < $count_f/4) { for ($i = ($p*4 - 3); $i <= ($p*4); $i++) { print ("<a href = ./walp/$walp[$i]><img src = ./walp/$walp[$i] width=400></a><br><br><hr width = 80%><br>"); } print ("<br><br>"); } if ( $p >= $count_f/4) { for ($i = ($p*4 - 3); $i <= $count_f; $i++) { print ("<a href = ./walp/$walp[$i]><img src = ./walp/$walp[$i] width=400></a><br><br><hr width = 80%><br>"); } print ("<br><br>"); } // Выводим список страниц print ("<br><br>"); $pp = $p - 1; print ("pages :"); if ($p > 1) { print ("<a href = ?p=$pp> <<prev..</a>"); } print ("<a href = ?p=1>1</a>"); for ($i = 2; $i <= ($count_f/4); $i++) { print ("..<a href = ?p=$i>$i</a>"); } $count_fn = $count_f/4; if (($i - 1)*4 < $count_f) { print ("..<a href = ?p=$i>$i</a>"); } $pn = $p + 1; if ($p < $count_f/4) { print ("<a href= ?p=$pn>..next>></a></a>"); } print ("<br><hr width = 80%>");
PHP: <?php $page_count = "5"; //Количество картинок на странице if(is_numeric($_GET['page'])){ $page = $_GET['page']; }else{$page=1;} $finish = $page * $page_count; $start = $finish - $page_count + 1; $finish = $page * $page_count + 1; $dirs = scandir("walp/"); if(empty($dirs[2])){echo "Нету картинок";exit;} foreach($dirs as $d){ if($d != "." && $d != ".."){ $res[]=$d; } } ##################### for($i=$start;$i<$finish;$i){ $it=$i++ - 1; if(empty($res[$it])){break;} echo "<img src=/walp/".$res[$it]."><br>"; } ##################### if(ceil(count($res) / $page_count)>"1"){ for($i=0;$i<ceil(count($res) / $page_count);$i){ $p=$i++ + 1; echo "<a href=?page=$p> $p </a>"; } } ?>
PHP: <?php $ImagesPerPage = 6; $ImagesFolder = 'walp'; $Images = array_diff(scandir(dirname(__FILE__).'/'.$ImagesFolder), array('..', '.')); $ImagesCount = count($Images); $PagesCount = ceil($ImagesCount/$ImagesPerPage); $PageCurrent = (@$_GET['page'] != 0) ? ((int)$_GET['page']) : 1; for($i = 1; $i <= $PagesCount; $i++) echo " <a href='?page=$i'>$i</a> "; echo '<br />'; $From = $PageCurrent * $ImagesPerPage - $ImagesPerPage + 2; for($i = 0; $i < $ImagesPerPage; $i++) { if(!isset($Images[$From + $i])) break; echo '<img src=\'./'.$ImagesFolder.'/'.$Images[$From + $i].'\' />'; }
Количество картинок на странице задается в переменной $page_count, и у меня мой код работает отлично. Тоесть у тебя при перемотке страниц показываются всегда одни и те же картинки, или как?
Мой код, и код Chaak у меня работают правильно. У меня нету никаких предположений кроме как почистить кэш.