The 5th Annual China PHP Conference


(PHP 4, PHP 5, PHP 7)

ftp_renameFTP サーバー上のファイルまたはディレクトリの名前を変更する


bool ftp_rename ( resource $ftp_stream , string $oldname , string $newname )

ftp_rename() は FTP サーバー上のファイルやディレクトリの 名前を変更します。



FTP 接続のリンク ID 。






成功した場合に TRUE を、失敗した場合に FALSE を返します。 Upon failure (such as attempting to rename a non-existent file), an E_WARNING error will be emitted.

例1 ftp_rename() の例

$new_file 'somefile.txt';

// 接続を確立する
$conn_id ftp_connect($ftp_server);

// ユーザー名とパスワードでログインする
$login_result ftp_login($conn_id$ftp_user_name$ftp_user_pass);

// $old_file を $new_file に変更することを試みる
if (ftp_rename($conn_id$old_file$new_file)) {
"successfully renamed $old_file to $new_file\n";
} else {
"There was a problem while renaming $old_file to $new_file\n";

// 接続を閉じる

add a note add a note

User Contributed Notes 4 notes

Hugo locobyte at hotmail dot NO_SPAM dot com
14 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
Hazem dot Khaled at gmail dot com
10 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
// 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');
alishahnovin at hotmail dot com
9 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...
aventaria at hotmxxx dot com
10 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:

($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