Linux 시스템 재 귀적 으로 디 렉 터 리 에 있 는 파일 을 만 드 는 md5 방법
오늘 md5sum 으로 디 렉 터 리 를 조작 하려 고 합 니 다.디 렉 터 리 에 있 는 모든 파일 의 md5 값 을 재 귀적 으로 생 성 하려 고 합 니 다.그 결과 재 귀적 작업 이 지원 되 지 않 는 다 는 것 을 알 고 phop 스 크 립 트 를 작 성 했 습 니 다.
코드:
<?php
$path ='/data/www/bbs/source';
$outfile = 'file.md5';
get_file_md5($path, $outfile);
function get_file_md5($path, $outfile)
{
$path = rtrim($path, '/');
if(function_exists('scandir'))
{
$files = scandir($path);
foreach($files as $v)
{
if($v != '.' && $v != '..')
{
$file = $path.'/'.$v;
if(is_dir($file))
{
get_file_md5($file, $outfile);
}else
{
file_put_contents($outfile, md5_file($file)." ".$file."
", FILE_APPEND);
}
}
}
}else
{
$files = opendir($path);
while(($f = readdir($files)) !== false)
{
if($f == '.' || $f == '..')
continue;
$file = $path.'/'.$f;
if(is_dir($file))
{
get_file_md5($file, $outfile);
}else
{
file_put_contents($outfile, md5_file($file)." ".$file."
", FILE_APPEND);
}
}
closedir($files);
}
}
메모:생 성 된 md5 값 과 파일 사이 에 두 개의 빈 칸 이 있 습 니 다.그렇지 않 으 면 다음 과 같은 오류 가 발생 합 니 다.md5sum: file1.md5: no properly formatted MD5 checksum lines found
더 쉬 운 것 으로 Liux 의 find 명령 을 사용 하여 한 마디 로 해결 합 니 다.코드:
find /data/www/bbs/source -type f -print0 | xargs -0 md5sum > file2.md5
테스트
md5sum -c file1.md5
md5sum -c file2.md5
그림 에서 보 듯 이이렇게 모든 검사 결 과 를 화면 에 출력 합 니 다.마지막 으로 이러한 정 보 를 표시 하면 md5sum:WARNING:2 of 1147 computed checksums did NOT match 는 총 1147 개 중 2 개가 맞지 않 음 을 설명 합 니 다.
그리고 우 리 는 할 수 있다.
md5sum -c file1.md5 | grep FAILED
어떤 문서 의 조작 인지 쉽게 알 수 있다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Java 백엔드에서 MD5 암호화 방법앞말 우리가 개발한 것은 이 기능을 고려하는 것이다. 사용자가 비밀번호를 잊어버린 상황에서 우리는 동적으로 그에게 6자리의 랜덤 비밀번호를 보내야 한다. 실시간 통화, 문자, 위챗 등을 통해.데이터베이스에 있는 원래...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.