현재 위치: > 최신 기사 목록> Hash_copy 및 file_put_contents를 통해 해시 값을 파일에 복사하고 저장하는 방법?

Hash_copy 및 file_put_contents를 통해 해시 값을 파일에 복사하고 저장하는 방법?

M66 2025-07-10

1. HASH_COPY 기능 소개

PHP의 HASH_COPY 기능은 내장 기능이 아닙니다. 실제로이 기능은 해시 값을 사용자 정의 방식으로 복사하는 기능을 시뮬레이션 할 수 있습니다. 해시 값의 사본을 만들어 해시 _copy- 유사 효과를 달성합니다.

해시 값은 일반적으로 MD5 , SHA1 또는 더 현대적인 SHA256 과 같은 특정 해싱 알고리즘에 의해 생성됩니다. 해시 작동의 경우 일반적으로 사용되는 기능은 hash () 입니다. 해시 () 함수는 지정된 알고리즘에 의해 계산 된 해시 값을 반환합니다.

1.1 해시 값의 사본을 만듭니다

파일 또는 데이터 스트림의 해시 값을 먼저 생성하고 해당 값을 변수에 저장한다고 가정 해 봅시다. 그런 다음 해시 값의 "복사"작업을 모방하여 할당 문을 통해 해시 값을 다른 변수로 "복사"할 수 있습니다.

 <span><span><span class="hljs-variable">$data</span></span><span> = </span><span><span class="hljs-string">'This is a sample text.'</span></span><span>;
</span><span><span class="hljs-variable">$original_hash</span></span><span> = </span><span><span class="hljs-title function_ invoke__">hash</span></span><span>(</span><span><span class="hljs-string">'sha256'</span></span><span>, </span><span><span class="hljs-variable">$data</span></span><span>);
</span></span>

이러한 방식으로 $ Copied_Hash 변수는 $ original_hash 와 동일한 해시 값을 저장합니다.

2. File_put_Contents를 사용하여 해시 값을 파일에 저장하십시오

file_put_contents 는 PHP에서 매우 일반적으로 사용되는 파일 작동 기능입니다. 파일에 데이터를 작성하는 데 사용할 수 있습니다. 이 기능을 사용하여 해시 값을 텍스트 파일에 저장할 수 있습니다.

2.1 쓰기 해시 값

위의 해시 값을 얻은 후 지정된 파일로 작성합니다.

 <span><span><span class="hljs-variable">$file</span></span><span> = </span><span><span class="hljs-string">'hash_output.txt'</span></span><span>;
</span><span><span class="hljs-title function_ invoke__">file_put_contents</span></span><span>(</span><span><span class="hljs-variable">$file</span></span><span>, </span><span><span class="hljs-variable">$copied_hash</span></span><span>);
</span></span>

이 코드는 $ copied_hash 의 해시 값을 hash_output.txt 라는 파일에 씁니다. 파일이 존재하지 않으면 file_put_contents가 자동으로 생성됩니다.

2.2 모드 쓰기를 추가하십시오

실행할 때마다 새로 생성 된 해시 값을 원래 컨텐츠를 덮어 쓰는 대신 파일 끝에 추가하려면 file_append 매개 변수를 사용할 수 있습니다.

 <span><span><span class="hljs-title function_ invoke__">file_put_contents</span></span><span>(</span><span><span class="hljs-variable">$file</span></span><span>, </span><span><span class="hljs-variable">$copied_hash</span></span><span> . PHP_EOL, FILE_APPEND);
</span></span>

여기서도 플랫폼 관련 신성경을 ​​나타내는 PHP_EOL을 추가하여 각 해시 값이 한 줄을 별도로 차지하도록합니다.

3. 완전한 예 : 해시 값 사본 및 저장

위의 것을 결합하여 해시 값file_put_contents를 통해 파일에 해시 값을 복사하고 저장하는 방법을 보여주는 완전한 예입니다.

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// 1. 데이터의 해시 값을 생성합니다</span></span><span>
</span><span><span class="hljs-variable">$data</span></span><span> = </span><span><span class="hljs-string">'This is a sample text.'</span></span><span>;
</span><span><span class="hljs-variable">$original_hash</span></span><span> = </span><span><span class="hljs-title function_ invoke__">hash</span></span><span>(</span><span><span class="hljs-string">'sha256'</span></span><span>, </span><span><span class="hljs-variable">$data</span></span><span>);


</span><span><span class="hljs-comment">// 3. 파일에 저장하십시오</span></span><span>
</span><span><span class="hljs-variable">$file</span></span><span> = </span><span><span class="hljs-string">'hash_output.txt'</span></span><span>;
</span><span><span class="hljs-title function_ invoke__">file_put_contents</span></span><span>(</span><span><span class="hljs-variable">$file</span></span><span>, </span><span><span class="hljs-variable">$copied_hash</span></span><span> . PHP_EOL, FILE_APPEND);

</span><span><span class="hljs-comment">// 출력 프롬프트</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"哈希值已经被파일에 저장하십시오: <span class="hljs-subst">$file</span></span></span><span>\n";
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

이 스크립트는 텍스트의 SHA-256 해시 값을 '샘플 텍스트입니다'를 계산합니다. Hash_output.txt 파일에 추가됩니다.

4. 파일 작업을 처리하는 오류

파일 작업을 처리 할 때 파일 권한 문제 또는 경로 오류와 같은 가능한 오류에주의를 기울여야합니다. 코드의 견고성을 향상시키기 위해 오류 처리 코드를 추가 할 수 있습니다.

 <span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-literal">false</span></span><span> === </span><span><span class="hljs-title function_ invoke__">file_put_contents</span></span><span>(</span><span><span class="hljs-variable">$file</span></span><span>, </span><span><span class="hljs-variable">$copied_hash</span></span><span> . PHP_EOL, FILE_APPEND)) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"파일 쓰기가 실패했습니다,파일 권한을 확인하십시오。\n"</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"哈希值已经成功파일에 저장하십시오。\n"</span></span><span>;
}
</span></span>

5. 요약

해시 () 함수를 통해 해시 값을 계산하고 해시 카피 해시 값을 시뮬레이션하고 file_put_contents를 사용하여 해시 값을 파일에 쓰는 것이 해시 값을 처리하고 PHP의 파일 작업을 처리하는 일반적인 방법입니다. 해시 값을 파일로 저장하든 기존 파일에 추가하더라도 PHP가 제공 한 이러한 기능을 사용하면 쉽게 구현할 수 있습니다.