readdir lists randomly [message #185199] |
Sat, 08 March 2014 15:01  |
Mr Oldies
Messages: 241 Registered: October 2013
Karma: 0
|
Senior Member |
|
|
From the php manual
if ($handle = opendir('audio/1960')) {
echo "Directory handle: $handle\n";
echo "Entries:\n";
/* This is the correct way to loop over the directory. */
while (false !== ($entry = readdir($handle))) {
echo "$entry\n";
echo "<br>";
}
closedir($handle);
}
Is there a way to list the entries according to the order they are listed
in the directory?
such as
60-001
60-002
60-003
http://mroldies.net/readdir.php
|
|
|
|
Re: readdir lists randomly [message #185201 is a reply to message #185200] |
Sat, 08 March 2014 15:48   |
Lew Pitcher
Messages: 60 Registered: April 2013
Karma: 0
|
Member |
|
|
On Saturday 08 March 2014 10:15, in comp.lang.php, "Lew Pitcher"
<lew(dot)pitcher(at)digitalfreehold(dot)ca> wrote:
> On Saturday 08 March 2014 10:01, in comp.lang.php, "richard"
> <noreply(at)example(dot)com> wrote:
>
>> From the php manual
>>
>>
>> if ($handle = opendir('audio/1960')) {
>> echo "Directory handle: $handle\n";
>> echo "Entries:\n";
>>
>> /* This is the correct way to loop over the directory. */
>> while (false !== ($entry = readdir($handle))) {
>> echo "$entry\n";
>> echo "<br>";
>>
>> }
>>
>> closedir($handle);
>> }
>>
>> Is there a way to list the entries according to the order they are listed
>> in the directory?
>
> Yes, use readdir(). readdir() reads directory entries in the same order as
> they exist in the directory.
>
>> such as
>> 60-001
>> 60-002
>> 60-003
>
> Oh, you mean in a specific *sorted* order, and not by the order that the
> directory entries are recorded.
>
> For that, you are going to have to read the directory and sort it.
And, for that, you could use scandir()
See http://ca3.php.net/manual/en/function.scandir.php
--
Lew Pitcher
"In Skills, We Trust"
PGP public key available upon request
|
|
|
Re: readdir lists randomly [message #185202 is a reply to message #185200] |
Sat, 08 March 2014 16:43   |
Mr Oldies
Messages: 241 Registered: October 2013
Karma: 0
|
Senior Member |
|
|
On Sat, 08 Mar 2014 10:15:39 -0500, Lew Pitcher wrote:
> On Saturday 08 March 2014 10:01, in comp.lang.php, "richard"
> <noreply(at)example(dot)com> wrote:
>
>> From the php manual
>>
>>
>> if ($handle = opendir('audio/1960')) {
>> echo "Directory handle: $handle\n";
>> echo "Entries:\n";
>>
>> /* This is the correct way to loop over the directory. */
>> while (false !== ($entry = readdir($handle))) {
>> echo "$entry\n";
>> echo "<br>";
>>
>> }
>>
>> closedir($handle);
>> }
>>
>> Is there a way to list the entries according to the order they are listed
>> in the directory?
>
> Yes, use readdir(). readdir() reads directory entries in the same order as
> they exist in the directory.
>
>> such as
>> 60-001
>> 60-002
>> 60-003
>
> Oh, you mean in a specific *sorted* order, and not by the order that the
> directory entries are recorded.
>
> For that, you are going to have to read the directory and sort it.
>
> Sorry
I can use it as is, just wasn't expecting the list to be shown that way.
Are you by any chance the same Lew Pitcher that is a radio dj in
Cincinnati?
|
|
|
|
|
Re: readdir lists randomly [message #185303 is a reply to message #185199] |
Mon, 17 March 2014 11:05  |
Arno Welzel
Messages: 317 Registered: October 2011
Karma: 0
|
Senior Member |
|
|
Am 08.03.2014 16:01, schrieb richard:
> From the php manual
>
>
> if ($handle = opendir('audio/1960')) {
> echo "Directory handle: $handle\n";
> echo "Entries:\n";
>
> /* This is the correct way to loop over the directory. */
> while (false !== ($entry = readdir($handle))) {
> echo "$entry\n";
> echo "<br>";
>
> }
>
> closedir($handle);
> }
>
> Is there a way to list the entries according to the order they are listed
> in the directory?
> such as
> 60-001
> 60-002
> 60-003
A directory does not have such "order". The sorting has to be done
afterwards.
--
Arno Welzel
http://arnowelzel.de
http://de-rec-fahrrad.de
|
|
|