Autor | Zpráva | ||
---|---|---|---|
Peto Profil * |
#1 · Zasláno: 15. 7. 2009, 11:12:08
Ahoj používam tento kód na upload, ale pořeboval bych aby se mi uploadované soubory řadili dle data vložení, jen nevím jak to udělat.
<? $nas_sou="soubor.php"; $handle=opendir('.'); $i=0; $j=0; while (false!==($file = readdir($handle))) { if ($file!="."&&$file!=".."&&!is_dir($file)&&$file!=$nas_sou) { $soubor[$i]="$file"; $velikost[$i]=filesize ($file); $zmena[$i]=date("H:i:s d.m.Y ",filemtime($file)); $i++; } if ($file != "." && is_dir($file)) { $adresar[$j]="$file"; $j++; } } closedir($handle); function vypis($s,$v,$z) { echo "<table>\n"; echo "<tr><td><h2>Název soubor</h2></td><td><h2>Velikost v bytech</h2></td><td><h2>Posledni změna</h2></td></tr>\n"; for($i=0;$i<count($s);$i++) { echo "<tr><td align=left>"; echo '<p><a href="'.$s[$i].'" title="'.$s[$i].'" target="_blank"class="odkaz">'.$s[$i].'</a></p>'; echo "</td><td align=center><p>$v[$i]</p>"; echo "</td><td><p>$z[$i]</p>"; echo "</td></tr>\n"; } echo "</table>\n"; } vypis($soubor,$velikost,$zmena); ?> |
||
fajzen Profil |
#2 · Zasláno: 15. 7. 2009, 13:11:13
No, ja by som to robil takto:
namiesto troch jednorozmerných polí $soubor, $velikost a $zmena by som použil jedno (tuším) dvojrozmerné pole a namiesto ukladania už upraveného času zmeny súboru by som ukladal to čo vráti filemtime- ľahšie sa to bude zoraďovať. Takže: riadok 8-14: if ($file!="."&&$file!=".."&&!is_dir($file)&&$file!=$nas_sou) { $soubor[$i]['nazov']= $file; $soubor[$i]['velikost']= filesize($file); $soubor[$i]['zmena']= filemtime($file); $i++; } Na triedenie polí podľa nejakej definovanej funkcie slúži funkcia usort(). Takže pred výpisom pole zotriedime: // porovnavaca funkcia function cmp($a, $b) { if($a['zmena'] == $b['zmena']) { return 0; } return ($a['zmena'] < $b['zmena']) ? -1 : 1; } // zotriedime pole usort($soubor, 'cmp'); Času potom dáš formát až pri výpise |
||
Časová prodleva: 15 let
|
0