|
Posted by Jochem Maas on 11/22/05 13:55
Georgi Ivanov wrote:
> On Tuesday 22 November 2005 11:41, Mark Lucas wrote:
>
>>Can anyone help me please? I'm not an advanced PHP user!
>>
>>I'm looing for a way to sort the array returned by the GLOB function. I
>>would like to be able to sort the result by filemtime.
>>
>>Any good ideas?
>
>
> I think you can walk the array returned by glob and create a hash :
> $arr=glob(..);
> foreach($arr as $file){
// you can also write this like so, sometimes useful for keeping code
compact and minimizing variable usage:
foreach(glob(/* bla bla */) as $file) {
> $stat=stat($file);
> $mtime=$stat[mtime];
// don't forget to use quotes!:
$mtime=$stat['mtime'];
> $new[$file]=$mtime;
> }
>
> Now you should have array like this :
> foo.txt => 19879823
> foo1.txt => 1987987998
> Now you can use array_sort function to sort the new array.
array_multi_sort() is a slightly different way of doing the same thing,
sometimes handy when you need to be able to switch between different
sort orders:
$mFilesFound = glob(/* bla bla */);
foreach ($mFilesFound as $file) {
$mTimes[] = filemtime($file);
}
array_multisort($mTimes, SORT_DESC, $mFilesFound);
>
> Good luck.
>
>>Thanks,
>>
>> Mark
>>
>>
>>___________________________________________________________________________
>>__
>>
>>
>>
>> St John's Church, Polegate - Making Disciples of Jesus Christ
>>
>>___________________________________________________________________________
>>__
>>
>>
>>
>>This email is intended solely for the addressee and is strictly
>>confidential.
>>
>>If you are not the addressee please delete the message from your computer.
>
>
[Back to original message]
|