Jump to content

[SOLVED] How to sort server dir a-z?


aussie_okie

Recommended Posts

I have this code but when it displays it is not in order. How can I make this sort a-z?

<?

//define the path as relative
$path = "/staff/files/";



//using the opendir function
$dir_handle = @opendir($path) or die("Unable to open $path");

echo "Downloadable Files";

//running the while loop
while ($file = readdir($dir_handle)) 
{
   if($file!="." && $file!="..")
      echo "<a href='/files/$file' target='_blank'>$file</a>";
}

//closing the directory
closedir($dir_handle);

?>

 

thanks

Link to comment
https://forums.phpfreaks.com/topic/125982-solved-how-to-sort-server-dir-a-z/
Share on other sites

instead of dumping your output directly, why not store the filename in an array, sort the array, then create the links from the array?

<?php
$filearray=array();
while ($file = readdir($dir_handle)) 
{
   if($file!="." && $file!="..")
      $filearray[]=$file;  //store filenames in array    
}
sort($filearray);  //sort the array
foreach($filearray as $filename) {  //loop through array and output data
    echo "<a href=\"/files/$filename\" target=\"_blank\">$filename</a>";
}

Perfect thanks!

 

 

instead of dumping your output directly, why not store the filename in an array, sort the array, then create the links from the array?

<?php
$filearray=array();
while ($file = readdir($dir_handle)) 
{
   if($file!="." && $file!="..")
      $filearray[]=$file;  //store filenames in array    
}
sort($filearray);  //sort the array
foreach($filearray as $filename) {  //loop through array and output data
    echo "<a href=\"/files/$filename\" target=\"_blank\">$filename</a>";
}

Archived

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

×
×
  • Create New...

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.