是否可以使用FTP命令重命名FTP文件夹?

是否可以使用FTP命令重命名FTP文件夹?,ftp,Ftp,是否可以使用FTP命令重命名FTP服务器上的文件夹 我知道有一个重命名文件的命令,但我可以使用它作为文件夹的名称吗?一种方法是创建一个临时目录,将所有文件移到其中,删除现有目录,创建您想要的目录,并将所有文件移到新目录中。最后,删除临时目录 (假设ftp重命名不起作用,因为原始文件夹不是空的)。AFAIK,重命名目录(文件夹)时使用的命令与重命名文件时使用的命令相同(RNFR/RNTO)。您的问题可能是您没有权限执行您试图执行的操作。这可能取决于您使用的FTP客户端以及您连接到的FTP服务器。您

是否可以使用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无法重命名非空文件夹。这将是一个解决办法,但不是一个很好的解决方案。