PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPのcopy()関数とは?使い方・パラメータ・実行例をわかりやすく解説

PHPのcopy()関数は、指定したファイルを別の場所へコピーするための組み込み関数です。この関数を実行すると、コピー元(ソース)ファイルをもとに、コピー先(デスティネーション)として新しいファイルが作成されます。

なお、コピー先にすでに同名のファイルが存在する場合は、そのファイルは上書きされる点に注意してください。

構文(Syntax)

copy(source_file, dest_file)

パラメータ

  • source_file − コピー元となるファイルを指定します。

  • dest_file − コピー先のファイルパスを指定します。

戻り値(Return値)

copy()関数は、処理結果に応じて以下のブール値(boolean)を返します。

  • コピーに成功した場合 → TRUE
  • コピーに失敗した場合 → FALSE

使用例①:基本的なファイルコピー

まずは最もシンプルな例を見てみましょう。次のコードでは、「sourcefile.dat」を「destfile.dat」としてコピーしています。

<?php
echo copy("D:/myfiles/sourcefile.dat","D:/myfiles/destfile.dat");
?>

出力結果

true

コピーが正常に完了したため、true が出力されました。

使用例②:条件分岐を使ったエラーハンドリング

続いて、戻り値を使ってコピーの成否を判定する、より実践的な例を紹介します。

<?php
   $file = '/usr/home/guest/example.txt';
   $newfile = '/usr/home/guest/example.txt.bak';
   if (!copy($file, $newfile)) {
      echo "failed to copy $file...\n";
   } else {
      echo "copied $file into $newfile\n";
   }
?>

出力結果

failed to copy /usr/home/guest/example.txt...

解説

この例では、if文の条件式で !copy($file, $newfile) を判定しています。copy()関数が FALSE を返した場合、つまりコピーに失敗した場合には「failed to copy ...」というメッセージが表示され、成功した場合には「copied ... into ...」というメッセージが表示される仕組みです。

上記の出力結果のように失敗メッセージが表示されたのは、コピー元のファイルが存在しない、または読み取り権限がないなど、何らかの理由でコピー処理が失敗したためです。

実際の開発では、このようにcopy()関数の戻り値を必ずチェックし、エラー時に適切な処理を行うことが推奨されます。また、バックアップファイルの作成(.bakファイルの生成など)にもcopy()関数はよく利用されます。

  1. PHPのfile()関数とは?使い方・パラメータ・戻り値をわかりやすく解説

    PHPのfile()関数は、指定したファイル全体を読み込み、その内容を行ごとに分割した配列として返す関数です。テキストファイルを簡単に扱いたい場合に便利な基本関数の一つです。構文file(file_path, flag, context)パラメータfile_path − 読み込みたいファイルへのパスを指定します。flag − 省略可能なパラメータで、以下の定数を1つ、または複数組み合わせて指定できます。FILE_USE_INCLUDE_PATH − include_path の中からファイルを検索します。FILE_IGNORE_NEW_LINES − 配列の各要素の末尾に改行文字を追加しません

  2. PHPのdelete()関数とは?使い方とサンプルコードをわかりやすく解説

    PHPのdelete()関数は、指定したファイルを削除するための関数です。削除したいファイルのパスをパラメータとして渡すことで、そのファイルをシステムから削除できます。 構文(Syntax) delete(file_path) パラメータ(Parameters) file_path: 削除したいファイルのパスを指定します。相対パス・絶対パスのどちらでも指定可能です。 戻り値(Return) delete()関数は、処理結果に応じて以下のブール値を返します。 true: ファイルの削除が成功した場合 false: ファイルの削除に失敗した場合(ファイルが存在しない、権限がないなど) 使用