[php]copy

PHP의 copy 함수

copy 함수는 파일을 다른 위치로 복사하는 PHP 함수입니다. 이 함수를 사용하여 파일을 복사할 수 있습니다. 만약 복사가 성공적으로 이루어지면 true를 반환하고, 실패하면 false를 반환합니다.

기본 문법:

bool copy ( string $source, string $destination [, resource $context ] )
  • $source: 복사할 원본 파일의 경로를 나타내는 문자열.
  • $destination: 복사된 파일이 저장될 목적지 경로를 나타내는 문자열.
  • $context (옵션): 스트림 문맥을 지정하는 리소스.

샘플 코드:

$source_file = '/var/www/html/source.txt';
$destination_file = '/var/www/html/destination.txt';

if (copy($source_file, $destination_file)) {
    echo "File copied successfully.";
} else {
    echo "Failed to copy the file.";
}

copy 함수와 다른 함수와 사용하는 응용 코드

1. is_readable 함수와 함께 사용:

is_readable 함수를 사용하여 원본 파일이 읽을 수 있는지 확인한 다음, 복사를 시도합니다.

$source_file = '/var/www/html/source.txt';
$destination_file = '/var/www/html/destination.txt';

if (is_readable($source_file)) {
    if (copy($source_file, $destination_file)) {
        echo "File copied successfully.";
    } else {
        echo "Failed to copy the file.";
    }
} else {
    echo "Source file is not readable.";
}

2. file_exists 함수와 함께 사용:

복사된 파일의 존재 여부를 확인하기 위해 file_exists 함수를 사용합니다.

$source_file = '/var/www/html/source.txt';
$destination_file = '/var/www/html/destination.txt';

if (copy($source_file, $destination_file)) {
    if (file_exists($destination_file)) {
        echo "File copied successfully.";
    } else {
        echo "Copy operation failed.";
    }
} else {
    echo "Failed to copy the file.";
}

조건문과 반복문과 함께 사용하는 샘플 코드

아래 예제는 디렉토리 내의 파일들을 다른 위치로 복사하는 코드입니다.

$source_dir = '/var/www/html/source_directory/';
$destination_dir = '/var/www/html/destination_directory/';

$files = scandir($source_dir);

foreach ($files as $file) {
    if ($file !== '.' && $file !== '..') {
        $source_file = $source_dir . $file;
        $destination_file = $destination_dir . $file;
        
        if (copy($source_file, $destination_file)) {
            echo "File $file copied successfully.\n";
        } else {
            echo "Failed to copy $file.\n";
        }
    }
}

성능 향상을 위한 팁

  • copy 함수는 파일을 복사하는 단순한 함수이므로 성능에 큰 영향을 주지 않습니다.
  • 성능을 향상시키려면, 복사할 파일의 크기가 큰 경우에는 대용량 파일 처리 방법을 고려하고, 복사되는 파일의 개수가 많을 때는 작업을 분산시키는 등의 최적화를 고려할 수 있습니다.

게시됨

카테고리

,

작성자