Tilted Forum Project Discussion Community

Tilted Forum Project Discussion Community (https://thetfp.com/tfp/)
-   Tilted Technology (https://thetfp.com/tfp/tilted-technology/)
-   -   [PHP] ordering images by date (https://thetfp.com/tfp/tilted-technology/48013-php-ordering-images-date.html)

arch13 03-05-2004 03:39 PM

[PHP] ordering images by date
 
I have a basic php thumbnail program that grabs my thumbs out of a ../images/thumb folder inside my image folder. the code uses thumbs named the same as the full scale images in the parent directory.

The php takes care of building a table and arranging the thumbs into the table for which i can define the amount of colums and rows.

Recently I've taken an interest and developed a need to have these thumbs placed in date order instead of alphabetical order as they currently are.
I assume the *nix files system is just sticking them in alpha order as there is no php code currently dictating the order of the thumbs. It justs uses the order in which it reads them from the directory.
Now is there any code or resources that i could use (actual code is prefferable as it would then work on any computer) that would tell the basic thumbnail program to place the images in the user defined table in date order?

MrFlux 03-05-2004 07:18 PM

I can't quite work out the logic in my head but im pretty sure you could do it using getlastmod() and sort($array,SORT_NUMERIC)

Personally, I use a database for my photo gallery, with a date column so I can sort by date added...

You could use a multidimensional array, each file has a stored filename and date modified

e.g.

$thumbs[0][0] = 'filename.jpg'
$thumbs[0][1] = '324729874'

then use array_multisort() to sort by [i][1] then just display the images using foreach


second edit:

here's some code posted on PHP.net for sorting multidimensional arrays:

PHP Code:

<?php
function matrixSort(&$matrix,$sortKey) {
   foreach (
$matrix as $key => $subMatrix)
       
$tmpArray[$key] = $subMatrix[$sortKey];
   
arsort($tmpArray);
   return 
array_merge($tmpArray,$matrix);
}
?>

Of course, I could be going about this totally the wrong way...

MrFlux 03-05-2004 08:06 PM

Huzzah! Here is how you can sort your array if you have the date/filename in it... much simpler than i thought:

PHP Code:

<?php
// Example unsorted array
// I'll leave it up to you to figure out how to build this array
// Unless you can't in which case I'll give you a hand ;P
$thumbs = array(
    array(
'231','filename.jpg'),
    array(
'312','filename2.jpg'),
    array(
'123','filename3.jpg'));
// This will sort $thumbs by the first index of the second dimension...
sort($thumbs);
// Output the example
foreach($thumbs as $key => $value){
    echo 
'Name: '.$thumbs[$key][1].'<br>';
    echo 
'Num: '.$thumbs[$key][0].'<br><br>';
}
?>

Just give me a yell if you need help building your thumbs array...

Edit: oh, here's the output of that script:

Name: filename3.jpg
Num: 123

Name: filename.jpg
Num: 231

Name: filename2.jpg
Num: 312


To reverse this (i.e. output by LATEST date instead of earliest) just stick in $thumbs = reverse_array($thumbs) before your output code...

DonnChadh 03-07-2004 01:52 PM

This snippet sorts an array of file references by the last changed date of the file by retriving an array of dates and then using array_multisort to sort the array of filenames by the array of dates

PHP Code:

  if ($galFiles != NULL) {
    
sort ($galFiles);
    
reset ($galFiles);

    if (
$filesort == "chrono") {
      
//Sort the images chronologically
      
foreach ($galFiles as $file) {
        
$fileloc getcwd() . "/" $path_to_imgs $currDir $file;
        
$galfilemod[] = filectime($fileloc);
      }
      
reset ($galFiles);
      
array_multisort($galfilemodSORT_DESC$galFiles) ;
      
reset ($galFiles);
    }
  } 


ratbastid 03-11-2004 04:52 PM

What kind of language doesn't have hashes, for God's sake? *shudder*

(Edit: I'm kidding, PHP zealots! I'm about to join your ranks, ok? Put down the pitchforks!)


All times are GMT -8. The time now is 03:06 AM.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
Search Engine Optimization by vBSEO 3.6.0 PL2
© 2002-2012 Tilted Forum Project


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76