以下代码的工作原理可以让我可以成功地递归下载目录。但是,我想下载这个目录中的目录。所以,当它连接它。在。目录是一个子目录“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 2016-03-03 22:08:14