PHP 8.4.2 Released!

ssh2_sftp_rename

(PECL ssh2 >= 0.9.0)

ssh2_sftp_renameПереименовывает файл

Описание

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

Переименовывает файл на сервере.

Список параметров

sftp

Ресурс SSH2 SFTP, открытый с помощью ssh2_sftp().

from

Исходный файл.

to

Новое имя, которое заменит from.

Возвращаемые значения

Функция возвращает true, если выполнилась успешно, или false, если возникла ошибка.

Примеры

Пример #1 Переименовывание файла

<?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 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