Ftp_mdtm函数,根据日期获取最新修改的图像


ftp_mdtm function to get latest modified images based on date

我正在从一台服务器下载远程图像到另一台服务器,这部分我做得很好。现在我只需要下载最新修改的映像。在此之前,我尝试使用ftp_mdtm函数显示所有图像的修改时间。但是我一直得到

最后修改日期:January 01 1970 01:00:00

我在谷歌上寻找答案,但我所做的一切都没有帮助我。完整的代码在这里:

    <?php
    $ftp_server = "xxx.xxx.xxx.xxx";
    $ftp_user = "xxx";
    $ftp_pass = "xxx";
    $DIR="/xxx/";
    $conn = ftp_connect($ftp_server);
 if(!$conn) {
 exit("Can not connect to: $ftp_server'n");
 }
 if(!ftp_login($conn,$ftp_user,$ftp_pass)) {
 ftp_quit($conn);
 exit("Can not log on to'n");
 }
 ftp_chdir($conn,$DIR);
 $files = ftp_nlist($conn,'.');
//var_dump($files);
 for($i=0;$i<count($files);$i++) {
 if(!ftp_get($conn,$files[$i],$files[$i],FTP_BINARY )) {
 echo "Can not download {$files[$i]}'n";
 }
 else {echo "Success";
 $buff = ftp_mdtm($conn_id, $file);
if ($buff != -1) {
    echo "$file was last modified on : " . date("F d Y H:i:s.", $buff);
} else {
    echo "Couldn't get mdtime";
}
 }
 }

 ftp_quit($conn);
 ?>

更新:感谢@arkascha的好问题,我意识到我在代码中犯了一个错误。$buff变量定义错误。正确的方法如下:

     $buff = ftp_mdtm($conn_id);
if ($buff != -1) {
    echo "$file was last modified on : " . date("F d Y H:i:s.");
       } else {
    echo "Couldn't get mdtime";
}