現在の位置: ホーム> 最新記事一覧> hash_copyおよびfile_put_contentsを介してハッシュ値をファイルにコピーして保存する方法は?

hash_copyおよびfile_put_contentsを介してハッシュ値をファイルにコピーして保存する方法は?

M66 2025-07-10

1。Hash_Copy関数の紹介

PHPのhash_copy関数は組み込み関数ではありません。実際、この関数は、カスタム方法でハッシュ値をコピーする機能をシミュレートできます。ハッシュ値のコピーを作成することにより、 hash_copy- yute effectを実現します。

ハッシュ値は通常、 MD5SHA1 、またはより近代的なSHA256などの特定のハッシュアルゴリズムによって生成されます。ハッシュ操作の場合、一般的に使用される関数はhash()です。 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も追加します。これは、プラットフォーム関連のニューラインを表し、各ハッシュ値が個別に1行を占有するようにします。

3.完全な例:ハッシュバリューコピーと保存

上記を組み合わせて、 Hash_Copyfile_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。概要

Hash()関数を介してハッシュ値を計算し、 Hash_Copyのハッシュ値をコピーすることをシミュレートし、Hash値をFILE_PUT_CONTENTSを使用してファイルに書き込むことは、PHPでハッシュ値とファイル操作を処理するための一般的な方法です。ハッシュ値をファイルとして保存する場合でも、既存のファイルに追加する場合でも、PHPが提供するこれらの機能は簡単に実装できます。