已存在的文件不会被覆盖。
http://www.openssh.com/txt/draft-ietf-secsh-filexfer-02.txt
"如果已经存在具有newpath指定名称的文件,则这是一个错误。"
(PECL ssh2 >= 0.9.0)
ssh2_sftp_rename — 重命名远程文件
示例 #1 通过 sftp 重命名文件
<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$sftp = ssh2_sftp($connection);
ssh2_sftp_rename($sftp, '/home/username/oldname', '/home/username/newname');
?>
已存在的文件不会被覆盖。
http://www.openssh.com/txt/draft-ietf-secsh-filexfer-02.txt
"如果已经存在具有newpath指定名称的文件,则这是一个错误。"
由于某种未知原因,我们无法使用sftp_rename函数重命名远程文件。我们使用了以下代码
<?php
$connection = ssh2_connect('localhost', 22);
ssh2_auth_password($connection, 'username', 'password');
$sftp = ssh2_sftp($connection);
$fromSftpUrl = "ssh2.sftp://{$sftp}/{$path_from}";
$toSftpUrl = "ssh2.sftp://{$sftp}/{$path_to}";
$success = rename($fromSftpUrl, $toSftpUrl);
?>