Position actuelle: Accueil> Derniers articles> Comment copier et enregistrer les valeurs de hachage dans un fichier via hash_copy et file_put_contents?

Comment copier et enregistrer les valeurs de hachage dans un fichier via hash_copy et file_put_contents?

M66 2025-07-10

1. Introduction à la fonction hash_copy

La fonction HASH_COPY de PHP n'est pas une fonction intégrée. En fait, cette fonction peut simuler la fonction de copie des valeurs de hachage de manière personnalisée. Nous réalisons un effet de type hash_copy en créant une copie de la valeur de hachage.

Les valeurs de hachage sont généralement générées par certains algorithmes de hachage, tels que MD5 , SHA1 ou SHA256 plus moderne. Pour le fonctionnement du hachage, la fonction couramment utilisée est Hash () . La fonction hash () renvoie une valeur de hachage calculée par l'algorithme spécifié.

1.1 Créez une copie de la valeur de hachage

Supposons que nous générons d'abord une valeur de hachage d'un fichier ou de flux de données et stockons cette valeur dans une variable. Nous pouvons ensuite "copier" la valeur de hachage dans une autre variable via l'instruction Affectation, en émulant le fonctionnement "Copie" de la valeur de hachage:

 <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>

De cette façon, la variable $ copiéed_hash économise la même valeur de hachage que $ original_hash .

2. Utilisez File_put_Contents pour enregistrer la valeur de hachage dans le fichier

File_put_contents est une fonction de fonctionnement de fichiers très couramment utilisée dans PHP. Il peut être utilisé pour écrire des données dans des fichiers. Nous pouvons utiliser cette fonction pour enregistrer la valeur de hachage dans un fichier texte.

2.1 Écrivez la valeur de hachage

Après avoir obtenu la valeur de hachage ci-dessus, nous l'écrire dans un fichier spécifié:

 <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>

Ce code écrit la valeur de hachage dans $ copied_hash dans un fichier nommé hash_output.txt . Si le fichier n'existe pas, File_put_contents le créera automatiquement.

2.2 Écriture en mode annexe

Si vous souhaitez ajouter la valeur de hachage nouvellement générée à la fin du fichier à chaque fois que vous exécutez, au lieu d'écraser le contenu d'origine, vous pouvez utiliser le paramètre 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>

Ici, nous ajoutons également PHP_EOL , qui représente les nouvelles lignes liées à la plate-forme, garantissant que chaque valeur de hachage occupe une ligne séparément.

3. Exemple complet: copie de la valeur de hachage et enregistrer

En combinaison ci-dessus, voici un exemple complet montrant comment copier et enregistrer les valeurs de hachage dans un fichier via hash_copy et file_put_contents :

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// 1. Générer une valeur de hachage des données</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. Enregistrer dans le fichier</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">// Invite de sortie</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"哈希值已经被Enregistrer dans le fichier: <span class="hljs-subst">$file</span></span></span><span>\n";
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

Ce script calcule la valeur de hachage SHA-256 du texte «Ceci est un exemple de texte». et l'ajoute au fichier hash_output.txt .

4. Erreurs dans la gestion des opérations de fichiers

Lors du traitement des opérations de fichiers, nous devons prêter attention aux erreurs possibles, telles que les problèmes d'autorisation de fichier ou les erreurs de chemin. Afin d'améliorer la robustesse du code, le code de traitement des erreurs peut être ajouté:

 <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">"L&#39;écriture des fichiers a échoué,Veuillez vérifier les autorisations de fichiers。\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">"哈希值已经成功Enregistrer dans le fichier。\n"</span></span><span>;
}
</span></span>

5. Résumé

L'informatique des valeurs de hachage via la fonction hash () , simulez Hash_Copy Copie des valeurs de hachage et écrivant des valeurs de hachage à un fichier utilisant FILE_PUT_CONTENTS est une méthode courante pour gérer les valeurs de hachage et les opérations de fichiers en PHP. Qu'il s'agisse d'enregistrer la valeur de hachage en tant que fichier ou de l'appliquer dans un fichier existant, ces fonctions fournies par PHP peuvent nous aider à l'implémenter facilement.