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");