Код:
<?php
// настройки //
$pics_folder = "images/lightbox"; // в коя папка са картинките
$pics_per_page = 6; // по колко картинки на страница
$pics_ex = array('jpg','jpeg','gif','png'); // кои файлове да зачита като картинки
// настройки //
$pics_folder = preg_replace('/[\/]+/', '/', preg_replace('/^[\/]+/', '', $pics_folder).'/');
function all_images()
{
global $pics_folder, $pics_ex;
$folders = array($pics_folder);
$out_files = array();
while (count($folders))
{
foreach ($folders as $folder)
{
array_shift($folders);
$dir = opendir($folder);
while ($file = readdir($dir))
{
if ($file != '.' && $file != '..')
{
if (is_file($folder.$file) && in_array(strtolower(end(explode(".", $file))), $pics_ex))
{
$out_files[] = $folder.$file;
}
elseif (is_dir($folder.$file))
{
$folders[] = $folder.$file.'/';
}
}
}
}
}
return $out_files;
}
$all_images = all_images();
$out_images = array();
foreach ($all_images as $image)
{
$raz = explode("/", $image);
for ($n=1;$n<=(substr_count($pics_folder, "/"));$n++) array_shift($raz);
array_pop($raz);
$out_images[] = $image;
}
$masiv = @array_chunk($out_images, $pics_per_page, true);
$stranici = floor(count($out_images) / $pics_per_page);
if ((count($out_images) % $pics_per_page) > 0) { $stranici++; }
if (is_numeric($_GET['page']) && $_GET['page'] <= $stranici) {
$page = $_GET['page'];
} else {
$page = 1;
}
$red = 1;
foreach ($masiv[($page - 1)] as $pic)
{
$razp = explode("/", $pic);
for ($n=1;$n<=(substr_count($pics_folder, "/"));$n++) array_shift($razp);
array_pop($razp);
for ($i=0;$i<count($razp);$i++)
{
$url = array();
for($i2=0;$i2<=$i;$i2++)
{
$url[] = $razp[$i2];
}
}
echo "<a href=\"{$pic}\" rel=\"lightbox\"><img src=\"{$pic}\" width=\"170\" height=\"170\" border=\"0\" alt=\"gallery\" /></a> \n";
if ($red == floor(sqrt($pics_per_page))) { $red = 1; echo "\n"; } else { $red++; }
}
echo "<br /><br />Страници: ";
for ($i=1;$i<=$stranici;$i++) {
if ($page != $i) {
echo "<a class=\"typ1\" href=\"?page=$i\"> $i</a> ";
} else {
echo "$i ";
}
}
?>