Функция ftp_mdtm для получения последних измененных изображений на основе даты

Я загружаю удаленные образы с одного сервера на другой, и эта часть мне удалась. Теперь мне нужно скачивать только самые новые модифицированные изображения. Прежде чем я до этого доберусь, я пытаюсь показать время модификации для всех изображений, используя функцию ftp_mdtm. Но я продолжаю получать

последнее изменение: 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);
?>

0

Решение

ОБНОВЛЕНИЕ: Спасибо великому вопросу @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";
}
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]