PHP | rename 函數
怎樣重命名一個文件或目錄
最近更新時間 2021-01-20 09:15:42
rename 函數重命名一個文件或目錄。
rename() 函數有兩個必填參數,第一個參數 oldname 為源文件或目錄名,第二個參數 newname 為新文件或目錄名。如果 newname 存在將會被覆蓋,同時拋出一個警告,可以時候 @ 符號屏蔽。
函數定義
rename ( string $oldname , string $newname , resource $context = ? ) : bool
// 源文件位於:ext/standard/file.c
# 函數定義
PHP_FUNCTION(rename)
{
...
wrapper = php_stream_locate_url_wrapper(old_name, NULL, 0);
if (!wrapper || !wrapper->wops) {
php_error_docref(NULL, E_WARNING, "Unable to locate stream wrapper");
RETURN_FALSE;
}
if (!wrapper->wops->rename) {
php_error_docref(NULL, E_WARNING, "%s wrapper does not support renaming", wrapper->wops->label ? wrapper->wops->label : "Source");
RETURN_FALSE;
}
if (wrapper != php_stream_locate_url_wrapper(new_name, NULL, 0)) {
php_error_docref(NULL, E_WARNING, "Cannot rename a file across wrapper types");
RETURN_FALSE;
}
context = php_stream_context_from_zval(zcontext, 0);
RETURN_BOOL(wrapper->wops->rename(wrapper, old_name, new_name, 0, context));
}
參數
- checkoldname - 源文件或目錄名。
- checknewname - 新文件或目錄名。
返回值
- checkbool - 成功時返回 true,失敗時返回 false。
示例1: - 使用 rename() 函數重命名一個文件或目錄。
<?php
/**
* PHP rename() 函數重命名一個文件或目錄。
*
* @since Version 1.0.0
* @filesource
*/
// 源文件
$oldname = "foo.txt";
// 重命名文件
rename($oldname, "new.txt");