Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP copy() 함수 – 파일 복사 방법과 실전 예제 총정리

PHP의 copy() 함수는 파일을 복사할 때 사용하는 내장 함수입니다. 이 함수를 호출하면 원본 파일(source file)의 복사본이 지정한 대상 경로(destination)에 생성되며, 만약 대상 위치에 같은 이름의 파일이 이미 존재한다면 기존 파일은 덮어써지게(overwrite) 됩니다.

문법(Syntax)

copy(source_file, dest_file)

매개변수(Parameters)

  • source_file − 복사할 원본 파일의 경로를 지정합니다.

  • dest_file − 복사본이 생성될 대상 파일의 경로를 지정합니다.

반환값(Return)

copy() 함수는 실행 결과에 따라 다음 값을 반환합니다.

  • TRUE − 파일 복사가 성공한 경우
  • FALSE − 파일 복사가 실패한 경우

참고: 복사가 실패하는 대표적인 원인으로는 원본 파일이 존재하지 않거나, 디렉터리에 쓰기 권한이 없는 경우 등이 있습니다. 필요하다면 PHP 공식 문서에서 자세한 내용을 확인할 수 있습니다.

예제 1

가장 기본적인 사용 방법입니다. 두 번째 인자로 전달된 경로에 첫 번째 인자의 파일이 복사됩니다.

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

출력

true

예제 2

실제 프로젝트에서 자주 쓰이는 형태로, 반환값을 조건문과 함께 활용해 백업 파일 생성 성공 여부를 확인하는 예제입니다.

<?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...

위 예제에서는 원본 파일이 존재하지 않아 복사에 실패했으며, 조건문을 통해 실패 메시지가 출력되었습니다. 이처럼 copy() 함수의 반환값을 활용하면 복사 작업의 성공 여부에 따라 적절한 후속 처리를 구현할 수 있습니다.