ftp_mdtm 根据日期获取最新修改图像的函数
ftp_mdtm function to get latest modified images based on date
我正在将远程图像从一台服务器下载到另一台服务器,这部分我做得很好。现在我只需要下载最新修改过的图像。在开始之前,我尝试使用 ftp_mdtm 函数显示所有图像的修改时间。但我不断收到
was last modified on : 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";
}
我正在将远程图像从一台服务器下载到另一台服务器,这部分我做得很好。现在我只需要下载最新修改过的图像。在开始之前,我尝试使用 ftp_mdtm 函数显示所有图像的修改时间。但我不断收到
was last modified on : 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";
}