ftp_rename

(PHP 4, PHP 5, PHP 7, PHP 8)

ftp_renameRenomeia um arquivo ou um diretório no servidor FTP

Descrição

ftp_rename(FTP\Connection $ftp, string $from, string $to): bool

ftp_rename() renomeia um arquivo ou diretório no servidor FTP.

Parâmetros

ftp

Uma instância de FTP\Connection.

from

O nome atual do arquivo/diretório.

to

O novo nome para o qual se deseja renomear.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha. Em caso de falha (como em tentativa de renomear um arquivo que não existe), um erro de nível E_WARNING será emitido.

Registro de Alterações

Versão Descrição
8.1.0 O parâmetro ftp agora espera uma instância de FTP\Connection; anteriormente, um resource era esperado.

Exemplos

Exemplo #1 Exemplo de ftp_rename()

<?php
$old_file
= 'algumArquivo.txt.bak';
$new_file = 'algumArquivo.txt';

// Configura uma conexão básica
$ftp = ftp_connect($ftp_server);

// Login com usuário e senha
$login_result = ftp_login($ftp, $ftp_user_name, $ftp_user_pass);

// Tenta renomear $old_file para $new_file
if (ftp_rename($ftp, $old_file, $new_file)) {
echo
"Sucesso ao renomear $old_file para $new_file\n";
} else {
echo
"Houve um problema ao renomear $old_file para $new_file\n";
}

// Fecha a conexão
ftp_close($ftp);

?>

add a note

User Contributed Notes 4 notes

up
3
Hugo locobyte at hotmail dot NO_SPAM dot com
21 years ago
Using "ftp_rename" to move files to other directories on server ftp
..
...
if(ftp_rename($conn_ftp, $xfiles[$i], "./dirx/".$xfiles[$i])) {
echo "File $xfiles[$i] moved to ./dirx";
} else {
echo "ERROR!!!. The file could not be moved";
}
...
..
#-->>h2m, bye
up
2
alishahnovin at hotmail dot com
16 years ago
You want to make sure you check the existence of the new name before renaming files, because otherwise you could risk losing files. Just do a simple check with ftp_size with the new name. If it's !=-1, you're going to want to throw some kind of error, otherwise you'll be losing a file...
up
2
Hazem dot Khaled at gmail dot com
17 years ago
to rename the file or folder you should use ftp_chdir to select the current directory on ftp server or you should write the full path to file in old name and in new name

Ex. 1
<?php
// open the folder that have the file
ftp_chdir($conn_id, '/www/ftp-filemanager/');

// rename the file
ftp_rename($conn_id, 'file1.jpg', 'new_name_4_file.jpg');
?>

or write full path Ex. 2
<?
// rename the file
ftp_rename($conn_id, '/www/ftp-filemanager/file1.jpg', '/www/ftp-filemanager/new_name_4_file.jpg');
?>
up
-1
aventaria at hotmxxx dot com
17 years ago
This function isn't only able to rename files, but also folders. And it is not only able to rename them, but also move them, and, in the case of folders, their contents as well (so folders don't have to be empty to move). For example:

<?php
ftp_rename
($conn_id, "./dir1/dir2/", "./dir3/");
?>

Now the folder dir2 (which prevously was in folder dir1) has moved to the same folder as dir1, and it has kept its original contents (the content just moved along).
To Top