Autor | Zpráva | ||
---|---|---|---|
Kubas Profil * |
#1 · Zasláno: 8. 11. 2011, 16:30:34
Ahoj. Potřeboval bych nakopnout, jelikož se s tím morduju už pár dní a stále bez úspěchu. O co de? Napsal jsem si kód, který soubory seřadí podle přidání a vypíše soubory ze složky
$slozka = opendir ("."); $soubors = array(); while ($soubory = readdir ($slozka)){ $soubors[] = $soubory;} rsort ($soubors); foreach ($soubors as $s){ echo "$s <br>"; } Kód funguje v pohodě, nicméně potřeboval by jsem k němu vyřešit stránkování. Napadlo mě spočítat soubory pomocí "count" a vypsat jenom třeba prvních sto a další pak už rozstránkovat. Nicméně vážně nevím jak na to. Zde na fóru jsem si našel script na stránkování, soubory to ale vypisuje od nejstaršího po nejnovější. Já bych to ale potřeboval naopak $subory = glob('img/*.jpg'); define('SPOLU', count($subory)); define('POCET', 200); // počet súborov na stránku $od = (isset($_GET['od']) && $_GET['od'] < SPOLU) ? $_GET['od'] : 0; for($i = $od; $i < $od + POCET && $i < SPOLU; $i++) { $obsah = file_get_contents($subory[$i]); echo "<center><a href='$subory[$i]'>$subory[$i]</a> </center>"; } // navigácia for($i = 0; $i < SPOLU; $i += POCET) echo '<a href="?od=' . $i . '">' . ($i / POCET + 1) . '</a> | '; Poradí mi někdo prosím jakým způsobem by se ty dva scripty daly skombinovat? Případně jak by se dalo vyřešit jenom stránkování 1. scriptu, nebo jak by se dal prohodit výpis (od nejnovějšího po nejstarší) u 2. scriptu? Díky všem za odpovědi. |
||
Darker Profil |
#2 · Zasláno: 8. 11. 2011, 17:47:57
A co takhle to pole prostě prohodit (první změnit na poslední a poslední na první)?
|
||
Kubas Profil * |
#3 · Zasláno: 8. 11. 2011, 18:12:47
To jsem trošku nepochopil, jak jako změnit?
|
||
Darker Profil |
#4 · Zasláno: 8. 11. 2011, 21:55:28
No skript na stránkování prostě jede od klíče 0 do konce pole. Pokud seznam který ti vznikl začíná nejstarším a končí nejaktuálnějším souborem, logicky je třeba obrátit pořadí.
|
||
Kubas Profil * |
#5 · Zasláno: 9. 11. 2011, 14:18:54
Děkuju za reakci, nicméně stále nechápu jak obrátit to pořadí?
|
||
Darker Profil |
#6 · Zasláno: 9. 11. 2011, 14:49:57
|
||
Kubas Profil * |
#7 · Zasláno: 9. 11. 2011, 16:12:24
Problém je v tom, že array_reverse() mi pouze nahradí funkci rsort() ne? Jak to pak mám do toho scriptu zakomponovat?
|
||
Darker Profil |
#8 · Zasláno: 9. 11. 2011, 16:24:51
Nejdřív seřadit, pak udělat vzestupné pořadí.
|
||
Kubas Profil * |
#9 · Zasláno: 9. 11. 2011, 17:54:55
Já už to ale seřazené mám? U prvního scriptu od nejnovějšího po nejstarší -> ale bez stránkování, u druhého scriptu je stránkování ale seřazené od nejstaršího po nejnovější..
Možná vypadám už jako úplný blbec, ale na mojí obhajobu musím dodat, že nedělám s "problematikou PHP" tak dlouho, tak to je trošku větší oříšek pro mě než sem původně čekal. Nešlo by to prosím vysvětlit nějak podrobněji? |
||
Kubas Profil * |
#10 · Zasláno: 10. 11. 2011, 09:28:28
No tak mi s tím někdo prosím pomozte. Však tu chodí tolik lidí problematiky znalejsich než sem já..
|
||
okolojdouci Profil * |
#11 · Zasláno: 10. 11. 2011, 09:40:26
Kubas:
Použij druhý skript. První řádek načte názvy souborů do pole, zbytek kódu zařídí jeho stránkovaný výpis (předpokládám, nezkoušel jsem). Takže jde o to, že to pole je setříděno nějak a mu chceš obrátit pořadí. K tomu slouží Darkerem odkázaná funkce. Nedáš si to z toho dohriomady? |
||
Bertram Profil |
#12 · Zasláno: 10. 11. 2011, 11:20:53
Ahoj jen dodám, že kód viz. níže neprovede cituji: „od nejnovějšího po nejstarší” pokud v tomhle duchu nebude číslování (chápej názvy) souborů.
Pokud nebudou názvy souboru číselné jako např ("1.jpg","2.jpg","2.jpg","4.jpg","5.jpg","6.jpg") a zároveň musí číslování odpovídat „od nejnovějšího po nejstarší”, tak je opět po funkčnosti. $subory = glob('img/*.jpg'); $opacnePoradi = array_reverse($subory ); Pro zjištění opravdového vytvoření/změny souboru lze použít např: $kdy = filemtime($filename); |
||
Kubas Profil * |
#13 · Zasláno: 10. 11. 2011, 16:08:39
Jo takto.. Už mi to funguje. Mě akurát nedošlo, že funkce glob() mi načte názvy souborů do pole a to že jde pak jednoduše otočit..
Děkuju za rady |
||
Časová prodleva: 14 let
|
0