PHP Conference Japan 2024

ssh2_sftp_rename

(PECL ssh2 >= 0.9.0)

ssh2_sftp_rename重新命名遠端檔案

說明

ssh2_sftp_rename(資源 $sftp, 字串 $from, 字串 $to): 布林值

重新命名遠端檔案系統上的檔案。

參數

sftp

ssh2_sftp() 開啟的 SSH2 SFTP 資源。

from

目前正在重新命名的檔案。

to

取代 from 的新檔案名稱。

回傳值

成功時回傳 true,失敗時回傳 false

範例

範例 #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');
?>

另請參閱

  • rename() - 重新命名檔案或目錄

新增註記

使用者貢獻的註記 2 則註記

4
thomas dot hebinck at digionline dot de
13 年前
已存在的檔案將*不會*被覆寫。

http://www.openssh.com/txt/draft-ietf-secsh-filexfer-02.txt

「如果已存在名稱由 newpath 指定的檔案,則會發生錯誤。」
4
Andr Ribas
7 年前
由於某些未知原因,我們無法使用 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);
?>
To Top