As Abigal-II has pointed out, not all FTP servers support transmitting file modification times, and the ones that do may not even transmit them in the same format. I think you have two options:
- Write a client-side script to parse the output of "ls -l" and grab the latest file
- Write a server-side script that symlinks the latest file to a known filename, such as "latest"
Here's some example code for the second way of doing things. Some example code is shown below:
#!/usr/bin/perl -w
use strict;
my $ftp_dir = '/pub/';
my @files = glob("$ftp_dir/*");
my ($latest_file,$modtime) = (0,0);
foreach my $file (@files) {
my $local_modtime = (stat($file))[9];
if ( $local_modtime > $modtime ) {
$latest_file = $file;
$modtime = $local_modtime;
}
}
# There's probably a better way to make symlinks
`ln -s $ftp_dir/$latest_file $ftp_dir/latest`;
The code is untested, but hopefully it can get the point across.