현재 위치: > 최신 기사 목록> php의 md5_file () 함수를 사용하여 파일 백업 및 확인을 구현하기 위해 Copy ()와 협력하는 방법은 무엇입니까?

php의 md5_file () 함수를 사용하여 파일 백업 및 확인을 구현하기 위해 Copy ()와 협력하는 방법은 무엇입니까?

M66 2025-06-11

매일 개발에서 우리는 종종 중요한 파일을 백업하고 필요할 때 파일의 내용이 변경되었는지 여부를 확인해야합니다. PHP는 두 가지 매우 실용적인 기능인 MD5_File ()Copy () 를 제공하므로 파일 백업 및 무결성 확인을 쉽게 구현할 수 있습니다.

이 기사는이 두 기능을 사용하여 간단하지만 실용적인 파일 백업 및 확인 시스템을 구축하는 방법을 소개합니다.

1. 기능 소개

md5_file ()

md5_file ()은 지정된 파일의 MD5 해시 값을 계산하는 데 사용됩니다. 기본 구문은 다음과 같습니다.

 md5_file(string $filename, bool $binary = false): string|false
  • $ filename 은 대상 파일 경로입니다.

  • $ Binary는 이진 형식으로 반환할지, 기본값으로 거짓 으로 반환할지, 즉 32 비트 16 진수 문자열을 반환 할 것인지 결정합니다.

복사()

Copy ()는 파일을 복사하는 데 사용되며 구문은 매우 직접적입니다.

 copy(string $from, string $to): bool
  • $는 원래 파일 경로입니다.

  • $ to는 대상 파일 경로입니다.

  • 성공하면 true를 반환하고 실패한 경우 False를 반환하십시오.

2. 실제 응용 프로그램 시나리오 : 파일 백업 및 확인

configuration 파일 config.php 가 있다고 가정하고 스크립트와 MD5 확인을 실행할 때마다 컨텐츠 일관성을 확인할 때마다 사본을 백업하려고합니다.

다음은 완전한 PHP 구현 예입니다.

 <?php

$sourceFile = '/var/www/html/config.php';
$backupDir = '/var/www/html/backup/';
$backupFile = $backupDir . 'config_backup.php';

// 백업 디렉토리를 만듭니다(존재하지 않는 경우)
if (!is_dir($backupDir)) {
    mkdir($backupDir, 0755, true);
}

// 백업 파일
if (copy($sourceFile, $backupFile)) {
    echo "파일이 성공적으로 백업되었습니다: $backupFile\n";

    // 믿다원본 파일和백업 파일的 MD5 값
    $sourceHash = md5_file($sourceFile);
    $backupHash = md5_file($backupFile);

    if ($sourceHash === false || $backupHash === false) {
        echo "믿다 MD5 오류가 발생했습니다,파일 경로가 올바른지 확인하십시오。\n";
    } else {
        echo "원본 파일 MD5: $sourceHash\n";
        echo "백업 파일 MD5: $backupHash\n";

        if ($sourceHash === $backupHash) {
            echo "검증이 통과되었습니다:백업 파일与원본 파일完全一致。\n";
        } else {
            echo "경고하다:백업 파일与원본 파일不一致!확인하세요。\n";
        }
    }
} else {
    echo "백업이 실패했습니다,확인하세요权限或路径。\n";
}

III. 응용 프로그램 확장

이 스크립트를 매일 예정된 작업 (예 : Linux Cron 사용)으로 실행하여 주요 파일의 백업 및 확인을 자동으로 완료 할 수 있습니다. 예를 들어:

 0 2 * * * php /var/www/html/backup_script.php

이렇게하면 서버에서 사고가 발생하더라도 백업 디렉토리에서 가장 최근의 유효한 프로필 사본을 찾을 수 있습니다.

또한 백업 파일을 FTP와 같은 원격 서버로 전송하거나 http 인터페이스를 통해 https://m66.net/api/upload.php 와 같은 주소로 업로드하여 데이터 보안을 더욱 향상시킬 수 있습니다.

4. 요약

PHP의 MD5_File ()Copy ()를 사용하여 경량 파일 백업 및 확인 시스템을 신속하게 작성하십시오. 이 방법은 구성 파일, 민감한 데이터 파일 등을 처리 할 때 실용성과 유연성이 높습니다. 패키지 및 자동화되는 한 프로젝트 유지 보수에 중요한 역할을 할 수 있습니다.