2016-10-27 3 views
0

한 서버에서 다른 서버로 원격 이미지를 다운로드하고 그 중 일부는 잘 했어. 이제 가장 최근에 수정 된 이미지 만 다운로드해야합니다. 필자가보기에 앞서 ftp_mdtm 기능을 사용하여 모든 이미지의 수정 시간을 표시하려고합니다. 1시 0분 0초ftp_mdtm은 날짜를 기준으로 최신 수정 된 이미지를 가져 오는 기능입니다.

1970 1월 1일 내가 봤 여기에 대한 답변을 보였지만, 모든 것을 내가 나에게 도움이되지 않았다 시도 :하지만

가에 마지막으로 바뀌 었 점점 계속. 전체 코드는 여기에 있습니다 :

<?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)'은 무엇을 반환합니까? – arkascha

+0

큰 질문입니다! 나는 실수했다고 생각합니다. 이제 코드를 편집하고 작동합니다. 이것을 지적하기위한 고맙지 만 나는 그것을 전혀 보지 못했습니다. (내 잘못이야). 여기에서도 코드를 편집 할 것입니다. – Nancy

답변

1

UPDATE : @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"; 
} 
관련 문제