Tutorial Find Highest Numerically Named File

by in , 0

$latest = getNewest("/path/to/folder/*_bla.xml");

function getNewest($xmlfile){
   foreach (glob($xmlfile) as $filename) {
       $c = explode('_', basename($filename));
       $files[$c[0]] = $filename;
   }
   ksort($files, SORT_NUMERIC);
   $latest = array_pop($files);
   if (file_exists($latest)){
       return $latest;
   }
   return false;
}

In a folder are files named:
1_bla.xml
2_bla.xml
...
34_bla.xml

The function returns the file with the biggest numeric number:
$latest = "/path/to/folder/34_bla.xml";

Leave a Reply