아래 코드는 성공적으로 디렉터리를 재귀 적으로 다운로드 할 수 있도록 작동합니다. 그러나이 디렉토리에있는 디렉토리를 다운로드하고 싶습니다. 그래서, 그것이 연결될 때입니다. 내 . 디렉토리는 하위 디렉토리 "In"입니다. In 디렉터리 내의 내용을 재귀 적으로 검색하려고합니다. 디렉토리 이름 자체가 바뀌므로 스크립트 자체에 어떤 내용이 있는지 지정할 수 없습니다 ... 누구든지이 작업을 수행하는 방법을 알고 있습니까?PHP - FTP 하위 디렉토리를 재귀 적으로?
ftp_sync ("./In/");
ftp_close($conn_id);
function ftp_sync ($dir) {
global $conn_id;
if ($dir != ".") {
if (ftp_chdir($conn_id, $dir) == false) {
echo ("Change Dir Failed: $dir<BR>\r\n");
return;
}
if (!(is_dir($dir)))
mkdir($dir);
chdir ($dir);
}
$contents = ftp_nlist($conn_id, "./In/");
foreach ($contents as $file) {
if ($file == '.' || $file == '..')
continue;
if (@ftp_chdir($conn_id, $file)) {
ftp_chdir ($conn_id, "..");
ftp_sync ($file);
}
else
ftp_get($conn_id, $file, $file, FTP_BINARY);
}
ftp_chdir ($conn_id, "..");
chdir ("..");
}
위 코드는 로컬 폴더에서 잘 작동합니다. ftp 폴더를 찾아 보도록하려면 먼저 curlftpfs를 사용하여 로컬로 마운트하십시오. – witkacy26