没有办法确定哪个文件是最新的,因为没有“上传时间”属性之类的东西。您没有过多提及 FTP 服务器,但如果您对上传有一定程度的管理,您可以确保在上传时设置上次修改时间。这是否最终起作用取决于您的 FTP 服务器和可能的客户端。
假设您的修改时间等于上传时间,您可以执行以下操作:
// connect
$conn = ftp_connect('ftp.addr.com');
ftp_login($conn, 'user', 'pass');
// get list of files on given path
$files = ftp_nlist($conn, '');
$mostRecent = array(
'time' => 0,
'file' => null
);
foreach ($files as $file) {
// get the last modified time for the file
$time = ftp_mdtm($conn, $file);
if ($time > $mostRecent['time']) {
// this file is the most recent so far
$mostRecent['time'] = $time;
$mostRecent['file'] = $file;
}
}
ftp_get($conn, "target.txt", $mostRecent['file'], FTP_ASCII);
ftp_close($conn);