Jump to content

Archived

This topic is now archived and is closed to further replies.

rab

Newest File script help

Recommended Posts

[code]
<?
$y = 0;

if ($handle = opendir('.'))
{
   while (false !== ($file = readdir($handle)))
    {
       if ($file != "." && $file !=".." && $file != "_private" && $file != "_vti_bin" && $file != "_vti_cnf" && $file != "_vti_pvt" && $file != "_vti_txt" && $file != "_vti_log" && $file != "cgi-bin" && $file != ".ftpquota" && $file != ".htaccess" && $file != "sniffer")
        {
            $lastmod = date('[d-m-y//g-i-s-a]' , filemtime($file));
               
            $z[$y] = $lastmod;
            $q[$y] = $file;
            $y++;
        }
    }
   closedir($handle);
}


        
sort($z);
$size = (sizeof($z) - 1);
echo $z[$size];
echo $q[$size];

?>
[/code]
This works to an extent, i can sort the date, but i can't sort the file accordingly to the date. Is there anyway to do this?

Share this post


Link to post
Share on other sites
You need to output your date string in a manner that will sort numerically.

06042006 for June 4th 2006 won't sort like you want it to.

20060604 will sort correctly, because the heirarchy is in the same direction.


06042006 > 03042008 (wrong)

20060604 < 20080304 (right!)


After that just do something like assign to an array with the date as the key and then do a ksort.

[code]
(inside your while loop)
$filesArray[$date] = $filename;
(end while loop)


ksort($filesArray);

echo '<pre>';
print_r($filesArray);
echo '</pre>
[/code]

[a href=\"http://www.php.net/ksort\" target=\"_blank\"]ksort() on php.net[/a]

Share this post


Link to post
Share on other sites
OMG I forgot about keys in arrays! Thanks!<3

Share this post


Link to post
Share on other sites

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.