Le code ci-dessous fonctionne de telle sorte que je puisse télécharger le répertoire de manière récursive. Mais, je veux télécharger les répertoires dans ce répertoire. Donc, quand il se connecte c'est dans. Dans le. Le répertoire est un sous-répertoire "In". Je veux récupérer récursivement le contenu dans le répertoire In. Les noms des répertoires eux-mêmes vont changer, donc je ne peux pas spécifier ce que cela va être dans le script lui-même ... Quelqu'un sait comment faire cela?PHP - Sous-répertoire FTP récursivement?
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 ("..");
}
Le code ci-dessus fonctionne bien sur les dossiers locaux. Pour le faire parcourir les dossiers ftp, montez-les d'abord localement avec curlftpfs. – witkacy26