【发布时间】:2010-12-07 11:16:00
【问题描述】:
是否可以使用 FTP 命令重命名 FTP 服务器上的文件夹?
我知道有一个重命名命令用于文件重命名,但我可以将它用于文件夹的名称吗?
【问题讨论】:
标签: ftp
是否可以使用 FTP 命令重命名 FTP 服务器上的文件夹?
我知道有一个重命名命令用于文件重命名,但我可以将它用于文件夹的名称吗?
【问题讨论】:
标签: ftp
AFAIK,用于重命名目录(文件夹)的命令(RNFR/RNTO)与用于重命名文件的命令相同。您的问题可能是您无权执行您正在尝试执行的操作。
【讨论】:
我正在使用以下代码在 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 ("..");
}
【讨论】:
重命名应该可以:
rename <dirname> <newdirname>
【讨论】:
一种方法是创建一个临时目录,将所有文件移入其中,删除现有目录,创建所需目录并将所有文件移入新目录。最后,删除临时目录。
(假设 ftp 重命名不起作用,因为原始文件夹不为空)。
【讨论】:
这可能取决于您使用的 FTP 客户端以及您要连接的 FTP 服务器。你能同时指定它们吗?
【讨论】: