使用PHP将文件夹重命名为SFTP服务器上的两个目标文件夹
此功能正在运行,可将文件夹从主文件夹移动到名为使用PHP将文件夹重命名为SFTP服务器上的两个目标文件夹,php,sftp,Php,Sftp,此功能正在运行,可将文件夹从主文件夹移动到名为destinationfolder1的文件夹中。我还想将文件夹移动到另一个文件夹。名为backup的文件夹,与destinationfolder1位于同一位置/级别。这可能吗 ssh2_sftp_rename($sftp, 'mainfolder/' . $entry , 'destinationfolder1/' . $entry ); 不能将文件/文件夹“重命名”为两个文件夹。那是胡说八道。您必须创建文件/文件夹的副本 核心SFTP协议中没有
destinationfolder1
的文件夹中。我还想将文件夹移动到另一个文件夹。名为backup
的文件夹,与destinationfolder1
位于同一位置/级别。这可能吗
ssh2_sftp_rename($sftp, 'mainfolder/' . $entry , 'destinationfolder1/' . $entry );
不能将文件/文件夹“重命名”为两个文件夹。那是胡说八道。您必须创建文件/文件夹的副本
核心SFTP协议中没有“复制”功能。有copy file
SFTP扩展名。但是PHP SSH2函数不支持它。您可能可以将扩展添加到开源中。但实际上很少有SFTP服务器支持该扩展。尤其是最广泛使用的SFTP服务器OpenSSH不支持它。所以这可能不值得一试
如果您具有服务器的shell访问权限,作为一种解决方法,您可以使用以下命令执行cp
shell命令:
如果您没有shell访问权限,您唯一的选择是下载文件/文件夹并将其重新上载到其他文件夹
另请参见不能将文件/文件夹“重命名”为两个文件夹。那是胡说八道。您必须创建文件/文件夹的副本 核心SFTP协议中没有“复制”功能。有
copy file
SFTP扩展名。但是PHP SSH2函数不支持它。您可能可以将扩展添加到开源中。但实际上很少有SFTP服务器支持该扩展。尤其是最广泛使用的SFTP服务器OpenSSH不支持它。所以这可能不值得一试
如果您具有服务器的shell访问权限,作为一种解决方法,您可以使用以下命令执行cp
shell命令:
如果您没有shell访问权限,您唯一的选择是下载文件/文件夹并将其重新上载到其他文件夹
另请参见您是否设法移动或复制?因为您只能移动/重命名到一个目标。但是,您可以通过多次调用此函数(如果有多个目的地,则不是一次性)将im从mailfolder移动到多个目的地,但需要它将文件夹放在两个目录中。当您移动时,它不再存在。您需要的是一份拷贝和一次移动,或者两份拷贝和一次删除备份文件夹包含在许多文件夹中。destinationfolder1文件夹一直在更改。最好的方法是确定副本和一次删除。这可以在一个过程中完成吗?您可以移动或复制吗?因为您只能移动/重命名到一个目标。但是,您可以通过多次调用此函数(如果有多个目的地,则不是一次性)将im从mailfolder移动到多个目的地,但需要它将文件夹放在两个目录中。当您移动时,它不再存在。您需要的是一份拷贝和一次移动,或者两份拷贝和一次删除备份文件夹包含在许多文件夹中。destinationfolder1文件夹一直在更改。最好的方法是确定副本和一次删除。这能在一个过程中完成吗?
ssh2_exec($connection, 'cp -r /source/path/file /backup/file');