【PHP8.x】copy関数の使い方

作成日: 更新日:

copy関数は、指定されたファイルを別の場所にコピーする関数です。この関数は、既存のファイルの内容を保ちながら、新しい名前や別のパスで複製を作成したい場合に利用されます。

この関数を使用するには、まず$source引数にコピーしたい元のファイルのパスを指定します。次に、$destination引数に新しいコピーファイルの作成場所とファイル名を指定します。たとえば、'data.txt'というファイルを'backup_data.txt'として保存する場合などに使用できます。$contextというオプションの引数もありますが、これは特定のストリーム操作が必要な場合に利用するもので、通常は省略可能です。

copy関数は、ファイルのコピー処理が成功した場合には真(true)を返し、何らかの理由で失敗した場合には偽(false)を返します。コピーが失敗する典型的な理由としては、コピー先のディレクトリに対する書き込み権限がない場合や、コピー元ファイルが存在しない場合などが挙げられます。失敗時には、PHPが警告(E_WARNING)を発行することがあります。

この関数はファイルのみを対象とし、ディレクトリをその内容ごとコピーする機能は持っていません。また、$destinationで指定されたパスに既にファイルが存在する場合、そのファイルは警告なく新しい内容で上書きされますので、意図しないデータの消失を防ぐためにも、コピー先のパスは慎重に指定してください。ネットワーク上のファイルや圧縮ファイルなど、様々な種類のファイルシステムやプロトコルに対しても、適切なストリームラッパーが有効であればcopy関数を利用できます。

基本的な使い方

構文(syntax)

copy(string $from, string $to, ?resource $context = null): bool

引数(parameters)

string $from, string $to, ?resource $context = null

  • string $from: コピー元のファイルパスを指定する文字列
  • string $to: コピー先のファイルパスを指定する文字列
  • ?resource $context = null: ファイル操作のコンテキストを指定するリソース。省略可能

戻り値(return)

bool

ファイルコピー操作が成功した場合は true を、失敗した場合は false を返します。

【PHP8.x】copy関数の使い方 | いっしー@Webエンジニア