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