2016-10-27 3 views
0

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

Последнее изменение: 1 января 1970 1: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); 
?> 
+1

Так что же означает 'ftp_mdtm ($ conn_id, $ file)' return? – arkascha

+0

Отличный вопрос! Думаю, я допустил ошибку. Теперь я редактировал код, и он работает. Thanx для того, чтобы указать на это, я не видел его вообще. (моя вина). Теперь я отредактирую код здесь. – Nancy

ответ

1

UPDATE: Thanx к большому вопросу по @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"; 
}