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...
ftp_rename
(PHP 4, PHP 5)
ftp_rename — Zmienia nazwę pliku lub katalogu na serwerze FTP
Opis
bool ftp_rename
( resource $strumień_ftp
, string $stara_nazwa
, string $nowa_nazwa
)
ftp_rename() zmienia nazwę pliku lub katalogu znajdującego się na serwerze FTP.
Parametry
- strumień_ftp
-
Identyfikator połączenia z serwerem FTP.
- stara_nazwa
-
Stara nazwa pliku lub katalogu.
- nowa_nazwa
-
Nowa nazwa.
Zwracane wartości
Zwraca TRUE w przypadku powodzenia, FALSE w przypadku błędu.
Przykłady
Przykład #1 Przykład użycia ftp_rename()
<?php
$stary_plik = 'plik.txt.bak';
$nowy_plik = 'plik.txt';
// nawiązanie połączenia
$conn_id = ftp_connect($ftp_server);
// logowanie
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
// próba zmiany nazwy $stary_plik na $nowy_plik
if (ftp_rename($conn_id, $stary_plik, $nowy_plik)) {
echo "Pomyślnie zmieniono nazwę pliku $stary_plik na $nowy_plik\n";
} else {
echo "Wystąpił problem przy zmianie nazwy $stary_plik na $nowy_plik\n";
}
// zamknięcie połączenia
ftp_close($conn_id);
?>
ftp_rename
alishahnovin at hotmail dot com
12-Dec-2007 03:25
12-Dec-2007 03:25
aventaria at hotmxxx dot com
07-Feb-2007 12:51
07-Feb-2007 12:51
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).
Hazem dot Khaled at gmail dot com
26-Nov-2006 03:56
26-Nov-2006 03:56
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');
?>
Hugo locobyte at hotmail dot NO_SPAM dot com
22-Nov-2002 08:29
22-Nov-2002 08:29
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
