是否可以使用FTP命令重命名FTP文件夹?
是否可以使用FTP命令重命名FTP服务器上的文件夹是否可以使用FTP命令重命名FTP文件夹?,ftp,Ftp,是否可以使用FTP命令重命名FTP服务器上的文件夹 我知道有一个重命名文件的命令,但我可以使用它作为文件夹的名称吗?一种方法是创建一个临时目录,将所有文件移到其中,删除现有目录,创建您想要的目录,并将所有文件移到新目录中。最后,删除临时目录 (假设ftp重命名不起作用,因为原始文件夹不是空的)。AFAIK,重命名目录(文件夹)时使用的命令与重命名文件时使用的命令相同(RNFR/RNTO)。您的问题可能是您没有权限执行您试图执行的操作。这可能取决于您使用的FTP客户端以及您连接到的FTP服务器。您
我知道有一个重命名文件的命令,但我可以使用它作为文件夹的名称吗?一种方法是创建一个临时目录,将所有文件移到其中,删除现有目录,创建您想要的目录,并将所有文件移到新目录中。最后,删除临时目录
(假设ftp重命名不起作用,因为原始文件夹不是空的)。AFAIK,重命名目录(文件夹)时使用的命令与重命名文件时使用的命令相同(
RNFR
/RNTO
)。您的问题可能是您没有权限执行您试图执行的操作。这可能取决于您使用的FTP客户端以及您连接到的FTP服务器。您能同时指定它们吗?我使用以下代码在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 ("..");
}
函数ftp\u sync($dir)
{
全球$conn_id;
如果($dir!=“)
{
if(ftp\u chdir($conn\u id,$dir)=false)
{
echo(“更改目录失败:$Dir
\r\n”);
返回;
}
if(!(is_dir($dir)))
mkdir($dir);
chdir($dir);
}
$contents=ftp\u nlist($conn\u id,“.”);
foreach($file形式的内容)
{
如果($file='.| |$file=''.')
继续;
if(@ftp\u chdir($conn\u id,$file))
{
ftp_chdir($conn_id,“…”);
ftp_同步($file);
}
其他的
ftp\u get($conn\u id,$file,$file,ftp\u二进制文件);
}
ftp_chdir($conn_id,“…”);
chdir(“…”);
}
重命名应该可以:
rename <dirname> <newdirname>
重命名
我不使用任何客户端。我必须在我的应用程序中使用ftp命令。您正在测试/使用哪台服务器?您是否告诉我无法重命名ftp服务器上的非空文件夹?不,但我的内存中有这样的信息:在某些情况下,在某些ftp服务器实现中,iirc无法重命名非空文件夹。这将是一个解决办法,但不是一个很好的解决方案。