略微加速

PHP官方手册 - 互联网笔记

PHP - Manual: ftp_rename

2024-12-21

ftp_rename

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

ftp_rename更改 FTP 服务器上的文件或目录名

说明

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

ftp_rename() 将 FTP 服务器上的一个文件或目录改名。

参数

ftp_stream

FTP 连接的标识符。

oldname

原来的文件/目录名。

newname

新名字。

返回值

成功时返回 true, 或者在失败时返回 false。 失败时(比如试图重命名一个不存在的文件)将会抛出一个 E_WARNING 错误信息。

范例

示例 #1 ftp_rename() 例子

<?php
$old_file 
'somefile.txt.bak';
$new_file 'somefile.txt';

// set up basic connection
$conn_id ftp_connect($ftp_server);

// login with username and password
$login_result ftp_login($conn_id$ftp_user_name$ftp_user_pass);

// try to rename $old_file to $new_file
if (ftp_rename($conn_id$old_file$new_file)) {
    echo 
"successfully renamed $old_file to $new_file\n";
} else {
    echo 
"There was a problem while renaming $old_file to $new_file\n";
}

// close the connection
ftp_close($conn_id);
?>
add a noteadd a note

User Contributed Notes 4 notes

up
3
Hazem dot Khaled at gmail dot com
15 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
2
Hugo locobyte at hotmail dot NO_SPAM dot com
19 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
1
alishahnovin at hotmail dot com
14 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
-1
aventaria at hotmxxx dot com
15 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).

官方地址:https://www.php.net/manual/en/function.ftp-rename.php

北京半月雨文化科技有限公司.版权所有 京ICP备12026184号-3