Autor Zpráva
TrueFriend
Profil
Zdravím. Nevím si rady jak zakomponovat script, který stránkuje soubory:
<?php

$files = glob('files/*.*');
$spolu = count($files);
$pocet = "10";


$od = (isset($_GET['od']) && $_GET['od'] < $spolu) ? $_GET['od'] : 0;

for($i = $od; $i < $od + $pocet && $i < $spolu; $i++) {
	echo $files[$i]."<br>\n";
}

// navigace
for($i = 0; $i < $spolu; $i += $pocet)
echo '<a href="?od=' . $i . '">' . ($i / $pocet + 1) . '</a> | ';

?>


Do této části jiného scriptu:
foreach ($soubory as $key => $soubor) {

echo $soubor[name] . '<br>';

}


$soubory jsou názvy souborů uložené v array

Samostatně script pracuje, ale ve spojení s foreach se mi to nedaří zkombinovat.
Dokázal by někdo poradit jak na to?
Díky
Keeehi
Profil
Podle mě (a toho prvního scriptu) jsou jména souborů uložená v poli v proměnné $files.
foreach ($files as $soubor)
  echo $soubor . '<br>';
TrueFriend
Profil
Nefunguje. Dám sem tedy scripty celé.
1.
$path_files .= "files/";
$dir = opendir($path_files);
$soubory = array();
while (($soubor = readdir($dir)) !== false)  if ($soubor != '.' and $soubor != '..' and $soubor != '.htaccess' and $soubor != '.ftpaccess') $soubory[] = array('name' => $soubor, 'date' => filemtime($path_files . $soubor), 'size' => filesize($path_files . $soubor));
closedir($dir);

foreach ($soubory as $key => $soubor) {
echo $soubor[name] . '<br>';
}


2.
$files = glob('files/*.*');
$spolu = count($files);
$pocet = "10";

$od = (isset($_GET['od']) && $_GET['od'] < $spolu) ? $_GET['od'] : 0;

for($i = $od; $i < $od + $pocet && $i < $spolu; $i++) {
    echo $files[$i]."<br>\n";
}

// navigace
for($i = 0; $i < $spolu; $i += $pocet)
echo '<a href="?od=' . $i . '">' . ($i / $pocet + 1) . '</a> | ';
Alphard
Profil
TrueFriend:
Nefunguje.
Asi je někde chyba.

ám sem tedy scripty celé.
Jak vidíte, není tady moc lidí, kterým by se chtělo kontrolovat každý znak. Dost by pomohlo lépe popsat chybu.
TrueFriend
Profil
Řeším problém. Ne kdo co napíše. Prosperujte buď ve formě pomoci, nebo držte zobák. A nedělejte z mých vět "výpisky"(!!!), samozřejmě, že to pak vyzní v kontextu jinak.

Jak je tu zvykem, tak popisovat chybu není žádoucí(!!), protože se toho hned někdo chytne a bude "rozpolceně reagovat", že se rozepisuji, tak musí stačit to jak jsem to napsal. Ale pro ty které zajímá PHP a ne problémy zakomplexovaných tak:

Chyba vznikne, když se pokusím zakomponovat "foreach" z jednoho scriptu v druhém s "for". A to tak, že se opakuje celý cyklus FOR je podpořeno částí FOREACH a opačně.
tiso
Profil
TrueFriend: miesto
…
foreach($soubory as $soubor){
  echo $soubor[name] . '<br>';
}
použi:
$spolu = count($soubory);
$pocet = 10;
$od = (isset($_GET['od']) && $_GET['od'] < $spolu) ? (int)$_GET['od'] : 0;

for($i = $od; $i < $od + $pocet && $i < $spolu; $i++) {
  echo $soubory[$i]['name']."<br>\n";
}
TrueFriend
Profil
Děkuji VELMI.
Takto to funguje.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: