PHP Conference Nagoya 2025

ssh2_sftp_rename

(PECL ssh2 >= 0.9.0)

ssh2_sftp_renameRename a remote file

Descrizione

ssh2_sftp_rename(resource $sftp, string $from, string $to): bool

Renames a file on the remote filesystem.

Elenco dei parametri

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.

Valori restituiti

Restituisce true in caso di successo, false in caso di fallimento.

Esempi

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

Vedere anche:

  • rename() - Rinomina un file o una directory

add a note

User Contributed Notes 2 notes

up
4
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."
up
4
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);
?>
To Top