PHP readdir() not returning files in alphabetical order

Posted by Buggabill on Stack Overflow See other posts from Stack Overflow or by Buggabill
Published on 2009-02-12T14:33:30Z Indexed on 2010/04/02 6:33 UTC
Read the original article Hit count: 204

Filed under:

I am reading through a directory with some pictures and such using a pretty simple implementation of readdir() like the following:

if ($handle = opendir($path)) {
    while (false !== ($szFilename = readdir($handle))) {
    if ($szFilename[0] !== '.') {
    	if (is_file($path.$szFilename))	{
                // do stuff
            }
        }
     }
 }

The problem that I am having is that the files are not being read in alphabetical order as the docs for readdir() state:

Returns the filename of the next file from the directory. The filenames are returned in the order in which they are stored by the filesystem.

Another weird thing is that, on the local testing server, the same code works great. This is running on a server using the LAMP stack in both cases.

I know that I can build an array and just sort it, but I was wondering if I was missing something in what I was doing.

Thanks for any insight!

© Stack Overflow or respective owner

Related posts about php