Jump to content

PHP sort array by date


dilshan

Recommended Posts

Hi,

i have an issue to sort gallery photos by date. Right now its sort by Value (Name).

 

here is the code 

 

index.php contains :

 

<div>

	<?php foreach($categories_array as $photo_category=>$photos_array){?>
    
    	<?php 
		$category_thumbnail = $gallery_url."/layout/pixel.gif";
		if(file_exists('files/'.$photo_category.'/thumbnail.jpg')){
			$category_thumbnail = $gallery_url.'/'.$photo_category.'/thumbnail.jpg';
		}
		
		$category_url = $gallery_url.'/'.$photo_category;
		?>
        
  		<span class="category_thumbnail_span" style="width:<?php echo $settings_thumbnail_width;?>px; height:<?php echo $settings_thumbnail_height+20;?>px;">
        <a class="category_thumbnail_image" href="<?php echo $category_url;?>" style="width:<?php echo $settings_thumbnail_width;?>px; height:<?php echo $settings_thumbnail_height;?>px; background-image:url('<?php echo $gallery_url;?>/layout/lens_48x48.png');" title="<?php echo htmlentities(ucwords(str_replace('-', ' ', $photo_category)));?>">
        <img src="<?php echo $category_thumbnail;?>" width="<?php echo $settings_thumbnail_width;?>" height="<?php echo $settings_thumbnail_height;?>" alt="<?php echo htmlentities(ucwords(str_replace('-', ' ', $photo_category)));?>" />
        </a>
        <a class="category_thumbnail_title" href="<?php echo $category_url;?>" title="<?php echo htmlentities(ucwords(str_replace('-', ' ', $photo_category)));?>">
        <?php echo htmlentities(str_replace('-',' ', truncate_by_letters($photo_category, 16, '..')), ENT_QUOTES, "UTF-8");?> (<?php echo count($photos_array);?>)
        </a>
        </span>
    

	<?php } ?>

</div>

the sort function :

ksort($categories_array);

 

Link to comment
https://forums.phpfreaks.com/topic/292404-php-sort-array-by-date/
Share on other sites

$categories_array = array();

and 

// loop over files directory and read the categories
if ($handle = opendir('files')) {
    while (false !== ($folder = readdir($handle))) {
		if(is_dir('files/'.$folder) and $folder!='.' and $folder!='..'){
			
			// define this key in the array, it will be blank, store categories as keys
			$categories_array[$folder] = array();

			// $total_photos_array[$folder] = 0;
			
			$files_in_dir = scandir('files/'.$folder);
			foreach($files_in_dir as $file){
				// if file ends in _thumb.jpg
				if(strpos($file, '_thumb.jpg') === strlen($file)-10){
					// $total_photos_array[$folder]++;
					$base_file_name = substr($file, 0,  strlen($file)-10);
					// insert this file in the array of files
					array_push($categories_array[$folder], $base_file_name);
				}
			}
			
		}
    }
    closedir($handle);
}

I think i should fit this code somewhere

$files = array();
if ($handle = opendir('.')) {
while (false !== ($file = readdir($handle))) {
       if ($file != "." && $file != "..") {
          $files[filemtime($file)] = $file;
       }
   }
   closedir($handle);


// sort
ksort($files);
// find the last modification
$reallyLastModified = end($files);

foreach($files as $file) {
    $lastModified = date('F d Y, H:i:s',filemtime($file));
    if(strlen($file)-strpos($file,".swf")== 4){
        if ($file == $reallyLastModified) {
            // do stuff for the real last modified file
        }
        echo "$file$lastModified";
    }
}

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.