adamdixon-idooh Posted July 5, 2012 Share Posted July 5, 2012 Hi, I am creating a PHP page that will display files in an upload folder so users can then view or download the files but I want to be able to sort them by name or by upload date. The code below is to display and link to the files in the upload folder but no matter what I can't get it to sort. Any help would be appreciated. <body> <?php if ($handle = opendir('images/clients/')) { while (false !== ($file = readdir($handle))) { if ($file != "." && $file != "..") { $thelist .= '<a href="images/clients/'.$file.'">'.$file.'</a> <br/><br/>'; } } closedir($handle); } ?> <P>List of files:</p> <P><?=$thelist?></p> </body> Link to comment https://forums.phpfreaks.com/topic/265231-sort-list-by-name-or-date/ Share on other sites More sharing options...
Barand Posted July 5, 2012 Share Posted July 5, 2012 Store the files and dates in an array, not a string.Arrays can be sorted. $files[$name] = $filedate; Link to comment https://forums.phpfreaks.com/topic/265231-sort-list-by-name-or-date/#findComment-1359264 Share on other sites More sharing options...
adamdixon-idooh Posted July 5, 2012 Author Share Posted July 5, 2012 Thanks for the reply but my knowledge of PHP is limited. Where would I turn the string into an array? Link to comment https://forums.phpfreaks.com/topic/265231-sort-list-by-name-or-date/#findComment-1359265 Share on other sites More sharing options...
Barand Posted July 5, 2012 Share Posted July 5, 2012 <?php $files = array(); if ($handle = opendir('images/clients/')) { while (false !== ($file = readdir($handle))) { if ($file != "." && $file != "..") { $path = realpath($file); $files[$file] = date('Y-m-d', filemtime($path)); } } closedir($handle); } /************* * List by name **************/ ksort($files); foreach ($files as $file => $date) { echo '<a href="images/clients/'.$file.'">'.$file."</a> $date<br/><br/>"; } /************* * List by date *************/ asort($files); foreach ($files as $file => $date) { echo '<a href="images/clients/'.$file.'">'.$file."</a> $date<br/><br/>"; } ?> Link to comment https://forums.phpfreaks.com/topic/265231-sort-list-by-name-or-date/#findComment-1359270 Share on other sites More sharing options...
adamdixon-idooh Posted July 5, 2012 Author Share Posted July 5, 2012 Thanks Barand that works perfectly. Link to comment https://forums.phpfreaks.com/topic/265231-sort-list-by-name-or-date/#findComment-1359309 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.