Die Hash_Copy -Funktion von PHP ist keine integrierte Funktion. Tatsächlich kann diese Funktion die Funktion des Kopierens von Hash -Werten auf benutzerdefinierte Weise simulieren. Wir erzielen einen Hash_Copy -Like-Effekt, indem wir eine Kopie des Hash-Werts erstellen.
Hash -Werte werden normalerweise durch bestimmte Hashing -Algorithmen wie MD5 , SHA1 oder moderner SHA256 erzeugt. Für den Hash -Betrieb ist die häufig verwendete Funktion Hash () . Die Hash () -Funktion gibt einen Hash -Wert zurück, der vom angegebenen Algorithmus berechnet wurde.
Angenommen, wir generieren zunächst einen Hash -Wert eines Datei- oder Datenstroms und speichern diesen Wert in einer Variablen. Wir können dann den Hash -Wert durch die Zuweisungsanweisung in eine andere Variable "kopieren" und die "Kopier" -Operation des Hash -Werts emulieren:
<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>
Auf diese Weise spart die Variable $ copied_hash den gleichen Hash -Wert wie $ original_hash .
Datei_put_Contents ist eine sehr häufig verwendete Dateibetriebsfunktion in PHP. Es kann verwendet werden, um Daten in Dateien zu schreiben. Wir können diese Funktion verwenden, um den Hash -Wert in einer Textdatei zu speichern.
Nachdem wir den Hash -Wert oben erhalten haben, schreiben wir ihn in eine bestimmte Datei:
<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>
Dieser Code schreibt den Hash -Wert in $ copied_hash in eine Datei namens Hash_Output.txt . Wenn die Datei nicht vorhanden ist, wird sie automatisch erstellt .
Wenn Sie den neu generierten Hash -Wert bei jedem Ausführen an das Ende der Datei anhängen möchten, anstatt den ursprünglichen Inhalt zu überschreiben, können Sie den Parameter Datei_Append verwenden:
<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>
Hier fügen wir auch PHP_EOL hinzu, das plattformbezogene Neulisten darstellt, um sicherzustellen, dass jeder Hash-Wert eine Zeile separat einnimmt.
Das Kombinieren der oben genannten hier finden Sie ein vollständiges Beispiel, das zeigt, wie Sie Hash -Werte über Hash_Copy und File_put_Contents in eine Datei kopieren und speichern:
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// 1. Generieren Sie den Hash -Wert von Daten</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. Speichern in Datei speichern</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">// Eingabeaufforderung ausgeben</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"哈希值已经被Speichern in Datei speichern: <span class="hljs-subst">$file</span></span></span><span>\n";
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
Dieses Skript berechnet den SHA-256-Hash-Wert des Textes "Dies ist ein Beispieltext". und findet es an die Datei von Hash_Output.txt an.
Bei der Verarbeitung von Dateioperationen sollten wir auf mögliche Fehler wie die Erlaubnisfremdung oder Pfadfehler achten. Um die Robustheit des Codes zu verbessern, kann der Fehlerbehandlungscode hinzugefügt werden:
<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">"Das Schreiben von Dateien fehlgeschlagen,Bitte überprüfen Sie die Dateiberechtigungen。\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">"哈希值已经成功Speichern in Datei speichern。\n"</span></span><span>;
}
</span></span>
Berechnen von Hash -Werten über Hash () -Funktion, simulieren Hash_Copy -Kopier -Hash -Werte und das Schreiben von Hash -Werten in eine Datei mithilfe von File_put_Contents sind eine gemeinsame Methode zum Umgang mit Hash -Werten und Dateioperationen in PHP. Unabhängig davon, ob er den Hash -Wert als Datei speichert oder ihn an eine vorhandene Datei angeht, können diese von PHP bereitgestellten Funktionen uns dabei helfen, sie einfach zu implementieren.