ssh2_sftp_rename
(PECL ssh2 >= 0.9.0)
ssh2_sftp_rename — Rename a remote file
说明
Renames a file on the remote filesystem.
参数
sftp- 
      
An SSH2 SFTP resource opened by ssh2_sftp().
 from- 
      
The current file that is being renamed.
 to- 
      
The new file name that replaces
from. 
示例
示例 #1 Renaming a file via 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');
?>
  +添加备注
  
用户贡献的备注 2 notes
  
  
  thomas dot hebinck at digionline dot de ¶
  
 
  13 years ago
  An already existing file will NOT be overwritten.
http://www.openssh.com/txt/draft-ietf-secsh-filexfer-02.txt
"It is an error if there already exists a file with the name specified by newpath."  
  
  Andr Ribas ¶
  
 
7 years ago
  For some unknown reason we weren't able to rename the remote file using sftp_rename function. Instead we've used the following code:
<?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);
?>备份地址:http://www.lvesu.com/blog/php/function.ssh2-sftp-rename.php