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