PHP 文件系统 copy() 函数



PHP 文件系统copy()函数可以用于复制文件。事实上,它可以跨服务器传输文件;如果发生错误,它将返回 false;否则,它将返回 true。

另一方面,当传输一个大小为零的文件时,该方法根据失败的原因而不是仅仅根据文件大小返回 false。许多因素,例如文件系统限制或权限问题,都可能导致函数失败。因此,虽然传输大小为零的文件可能会导致不正确的结果,但这并不是唯一会发生的情况。

语法

以下是 PHP 文件系统copy()函数的语法:

bool copy ( string source, string dest, context )

参数

以下是copy()函数的必填和可选参数:

序号 参数及描述
1

source (必填)

要从中复制文件的路径。

2

dest (必填)

要复制文件的路径。

3

context (可选)

使用 Stream_context_create() 创建的上下文资源。

返回值

成功返回 TRUE,失败返回 FALSE。

PHP 版本

copy()函数最初作为 PHP 4 的核心部分引入,并且与 PHP 5、PHP 7、PHP 8 兼容。

示例

在下面的代码中,我们使用了 PHP 文件系统copy()函数将文件从一个位置复制到另一个位置。我们在copy()函数中提供了两个参数:$fileToCopy 和 $newLocation。第一个参数是要复制的文件,第二个参数是要复制文件的目标位置。以下是我们在 PHP 中如何操作的:

<?php
   // Specify the file you want to copy
   $fileToCopy = '/Applications/XAMPP/xamppfiles/htdocs/mac/myfile.txt'; 

   // Specify where you want to copy the file to
   $newLocation = '/Applications/XAMPP/xamppfiles/htdocs/mac/new dir/copied.txt'; 

   // Let us use the copy() function
   if (copy($fileToCopy, $newLocation)) {
      echo "File copied successfully!";
   } else {
      echo "Something went wrong while copying the file.";
   }    
?>

输出

以下是以下代码的结果:

File copied successfully!

示例

现在我们将尝试使用 PHP 的copy()方法复制一个图像文件。因此,在这里我们也将遵循与上述示例相同的步骤。

<?php
   // Source image file
   $sourceImage = '/Applications/XAMPP/xamppfiles/htdocs/mac/image.jpg';

   // Destination directory
   $destinationDir = '/Applications/XAMPP/xamppfiles/htdocs/mac/images/';

   // New filename for copied image
   $newFileName = 'copied_image.jpg';

   // combine destination folder and new filename
   $newLocation = $destinationDir . $newFileName;

   // copy the image file
   if (copy($sourceImage, $newLocation)) {
      echo "Image copied successfully!";
   } else {
      echo "Failed to copy the image.";
   }
?> 

输出

这将产生以下结果:

Image copied successfully!

示例

现在,我们将使用copy()函数将 pdf 文件从一个位置复制到另一个位置,并使用不同的文件名。

<?php
   // source PDF file
   $sourcePDF = '/Applications/XAMPP/xamppfiles/htdocs/mac/doc.pdf';

   // destination directory
   $destinationDir = '/Applications/XAMPP/xamppfiles/htdocs/pdf/';

   // new filename for copied PDF
   $newFileName = 'new_document.pdf';

   // combine destination directory and new filename
   $newLocation = $destinationDir . $newFileName;

   // copy the PDF file with a different name
   if (copy($sourcePDF, $newLocation)) {
      echo "PDF copied successfully with a new name!";
   } else {
      echo "Failed to copy the PDF.";
   }
?> 

输出

这将生成以下结果:

PDF copied successfully with a new name!

注意

如果目标文件已存在,则该文件将被覆盖。

总结

使用 PHP 的copy()函数在位置之间传输文件。它需要两个参数:源文件路径和目标文件路径。如果复制操作成功,则返回 true;否则返回 false。

php_function_reference.htm
广告