PHP | copy 函数

Lasted 2020-12-30 16:41:09

copy 拷贝源文件到目标文件。

copy() 函数是一个内置函数,用于创建指定文件的副本。它将源文件复制到目标文件,如果目标文件已存在,将会被覆盖。函数成功返回 true,失败则返回 false。

函数定义

copy(string $source , string $dest [, resource $context ]):bool
// 源文件位于:ext/standard/file.c
# 函数定义

PHP_FUNCTION(copy)
{
  ...
  if (php_stream_locate_url_wrapper(source, NULL, 0) == &php_plain_files_wrapper && php_check_open_basedir(source)) {
    RETURN_FALSE;
  }

  context = php_stream_context_from_zval(zcontext, 0);

  if (php_copy_file_ctx(source, target, 0, context) == SUCCESS) {
    RETURN_TRUE;
  } else {
    RETURN_FALSE;
  }
}

参数

  • checksource - 源文件路径。如果 source 是一个 URL,则如果封装协议不支持覆盖已有的文件时拷贝操作会失败。
  • checkdest - 目标路径。

返回值

  • checkbool - 操作成功时返回 true,否则返回 false。

示例1: - 使用 copy() 函数拷贝源文件到目标文件。

<?php
/**
 * PHP 使用 copy() 函数拷贝源文件到目标文件。
 *
 * @since Version 1.0.0
 * @filesource
 */

// 源文件
$source = "source.txt";
// 目标文件
$dest = "dest.txt";

// 复制文件
if(copy($source, $dest)) {
  echo 'File copied!!!';
}
File copied!!!

注意:如果当前用户没有权限,操作会失败。