Я использую следующий код для копирования всех файлов и папок после функции входа по FTP
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, ".");
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 ("..");
}