Autor Zpráva
coverx
Profil *
Zdravím! Mám skript ktorí mi zobrazí obsah adresára Potreboval by som ho doplnit o stránkovanie napr. po 80, je to bez databázy.
Ukážka skriptu:

<?php 

if ($handle=opendir('.')) {
while ($file = readdir($handle))
{
if (($file == ".") || ($file == "..")) continue;
if ((substr($file,-4) != ".jpg") && (substr($file,-5) != ".jpeg")) continue;
$polozky[] = $file;
}
closedir($handle);
sort($polozky);
}

reset($polozky);
while (list($key, $val) = each($polozky))
{
if ($val != "." && $val != "..")
{
if (is_dir($val))
{
echo "(DIR) ";
echo "<a href="$val">$val</a><br> ";
}
}
}
echo "<br> ";
reset($polozky);
while (list($key, $val) = each($polozky))
{
if ($val != "." && $val != "..")
{
if (!is_dir($val))
{
echo "<a href="$val">$val</a><br> ";
}
}
}
?>
koudi
Profil
Ano dá. Dej si do počátečního cyklu nějaký čítač. Pokud např. budeš mít stránku 2, tak se ti to bude zorabzovat pouze od 80 položky. To znamená, dokud je čítač pod 80, nic nevypíšeš, pokud je mezi 80 - 160, normálně vypíšeš, pokud je to víc jak 160, ukončíš cyklus. Třeba.
coverx
Profil *
Nemáš nejaký odkaz na ten čítač? alebo nejaký príklad?
koudi
Profil
Nemáš nejaký odkaz na ten čítač?
Prostě obyčejná proměnná.
mylan
Profil
Predpokladám, že tento skript máš vždy v nejakom adresári v súbore index.php, ak som dobre pochopil. Ak áno, skús tento kód:
<?php

$files_max = 30; //maximálny počet zobrazovaných súborov

$zlozka = dir("./");
while($file = $zlozka->read()) {
if ($file == "." || $file == ".." || ((substr($file,-4) !== ".jpg") && (substr($file,-5) !== ".jpeg"))) continue;
$files[] = $file;
}
$zlozka->close();


sort($files);
reset($files);

$max = count($files);
if ($max > $files_max) $max = $files_max;

if (empty($_GET["page"])) $page = 1;
else $page = $_GET["page"];
/* ----- Pomocné premenné ----- */
$a = (($page-1)*$max);
$b = (($a+$max)-1);
$c = 1;
$d = 0;
/* ----- Výpis súborov ----- */
if (file_exists($files[$a])) {
$i = $a;
while (($i <= $b) && file_exists($files[$i])) {
echo "<a href='".$files[$i]."' target='_blank'>".$files[$i]."</a><br>";
$i++;
}
}

/* ----- Stránkovanie ----- */
if ($page == 1) {
echo "| 1 ";
$c++;
$d = $d+$max;
while (file_exists($files[$d])) {
echo "| <a href='./?page=$c'>$c</a> ";
$c++;
$d = $d+$max;
}
echo "|";
}

elseif (($page > 1) && (file_exists($files[$b]))) {
while (($c <= ($page-1)) && file_exists($files[$d])) {
echo "| <a href='./?page=$c'>$c</a> ";
$c++;
$d = $d+$max;
}
echo "| $page ";
$c++;
$d = $d+$max;
while (file_exists($files[$d])) {
echo "| <a href='./?page=$c'>$c</a> ";
$c++;
$d = $d+$max;
}
echo "|";
}

elseif (($page > 1) && (file_exists($files[$a]))) {
while (($c <= ($page-1)) && file_exists($files[$d])) {
echo "| <a href='./?page=$c'>$c</a> ";
$c++;
$d = $d+$max;
}
echo "| $page ";
}

else {
while (file_exists($files[$d])) {
echo "| <a href='./?page=$c'>$c</a> ";
$c++;
$d = $d+$max;
}
echo "|";
}

?>
coverx
Profil *
Ďakujem, idem to hned vyskúšať.
coverx
Profil *
Ďakujem! Presne toto som potreboval, naozaj si mi pomohol :-)
Toto téma je uzamčeno. Odpověď nelze zaslat.