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
廣告