| 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: 17 let
|
|||
0