已经存在的文件不会被覆盖。
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);
?>