In PHP sind tempnam () und file_put_contents () zwei häufig verwendete Funktionen. Ersteres wird verwendet, um eine eindeutige temporäre Datei zu erstellen, während letztere Daten in die Datei schreiben können. Diese beiden Funktionen werden in vielen praktischen Projekten häufig verwendet, insbesondere in Szenarien, in denen temporäre Dateien für die Datenspeicherung oder -verarbeitung erstellt werden müssen.
In diesem Artikel werden praktische Fälle kombiniert, um Ihnen zu zeigen, wie Sie diese beiden Funktionen verwenden, um Dateivorgänge effizienter auszuführen.
Die Funktion tempnam () wird verwendet, um einen eindeutigen temporären Dateinamen zu erstellen. Es empfängt zwei Parameter:
Verzeichnis : Das Verzeichnis, in dem temporäre Dateien gespeichert sind, normalerweise das Systemverzeichnis des Systems.
Präfix : Dateiname Präfix, verwendet, um den Namen der temporären Datei zu identifizieren.
Der Rückgabewert der Funktion tempnam () ist der generierte temporäre Dateiname, aber die Datei selbst wird nicht erstellt. Das heißt, Sie müssen eine Datei erstellen und Inhalte über andere Funktionen schreiben (z. B. fopen () , file_put_contents () usw.).
Beispielcode:
<span><span><span class="hljs-variable">$tempFile</span></span><span> = </span><span><span class="hljs-title function_ invoke__">tempnam</span></span><span>(</span><span><span class="hljs-title function_ invoke__">sys_get_temp_dir</span></span><span>(), </span><span><span class="hljs-string">'tmp_'</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$tempFile</span></span><span>; </span><span><span class="hljs-comment">// Der vollständige Pfad zur Ausgabe der temporären Datei</span></span><span>
</span></span>
In diesem Beispiel gibt die Funktion sys_get_temp_dir () das temporäre Verzeichnis des aktuellen Betriebssystems zurück. TMP_ ist das Präfix des Dateinamens, und der generierte Dateiname kann zu /tmp /tmp_rz6v28 ähnlich sein.
Die Funktion " Datei_put_Contents () ist eine Funktion in PHP, mit der Daten in eine Datei geschrieben werden. Es empfängt zwei Parameter:
Dateiname : Der zu schriftliche Dateiname.
Daten : Der zu schriftliche Dateninhalt.
Wenn die Datei nicht vorhanden ist, erstellt File_put_Contents () die Datei automatisch. Wenn die Datei bereits vorhanden ist, wird der Dateiinhalt überschrieben.
Beispielcode:
<span><span><span class="hljs-variable">$file</span></span><span> = </span><span><span class="hljs-string">'example.txt'</span></span><span>;
</span><span><span class="hljs-variable">$data</span></span><span> = </span><span><span class="hljs-string">'Hello, world!'</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">$data</span></span><span>);
</span></span>
In diesem Beispiel die Daten Hallo, Welt! wird in die Datei example.txt geschrieben. Wenn die Datei bereits vorhanden ist, wird der ursprüngliche Inhalt überschrieben.
Ein gemeinsames Szenario zum Kombinieren von tempnam () und file_put_contents () ist: Erstellen Sie zuerst einen eindeutigen temporären Dateinamen über tempnam () und schreiben Sie dann Daten in die temporäre Datei über File_put_Contents () . Dieser Ansatz ist ideal für die temporäre Datenspeicherung oder beim Umgang mit Dateien, die kurzfristig Speichern erfordern.
Angenommen, wir haben ein Cache -System, bei dem die zwischengespeicherten Daten bis zum Ablauf des Cache in einer temporären Datei gespeichert werden müssen. Wir können tempnam () verwenden, um einen eindeutigen temporären Dateinamen zu erstellen und zwischendatei_put_contents () in der Datei zwischengespeicherte Daten in der Datei zu speichern.
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// Step 1: passieren tempnam() Erstellen Sie eine temporäre Datei</span></span><span>
</span><span><span class="hljs-variable">$tempFile</span></span><span> = </span><span><span class="hljs-title function_ invoke__">tempnam</span></span><span>(</span><span><span class="hljs-title function_ invoke__">sys_get_temp_dir</span></span><span>(), </span><span><span class="hljs-string">'cache_'</span></span><span>);
</span><span><span class="hljs-comment">// Step 2: Simulieren Sie zwischengespeicherte Daten</span></span><span>
</span><span><span class="hljs-variable">$cacheData</span></span><span> = [
</span><span><span class="hljs-string">'username'</span></span><span> => </span><span><span class="hljs-string">'JohnDoe'</span></span><span>,
</span><span><span class="hljs-string">'email'</span></span><span> => </span><span><span class="hljs-string">'[email protected]'</span></span><span>,
</span><span><span class="hljs-string">'last_login'</span></span><span> => </span><span><span class="hljs-title function_ invoke__">time</span></span><span>()
];
</span><span><span class="hljs-comment">// Step 3: verwenden file_put_contents() Schreiben Sie zwischengespeicherte Daten in temporäre Dateien</span></span><span>
</span><span><span class="hljs-title function_ invoke__">file_put_contents</span></span><span>(</span><span><span class="hljs-variable">$tempFile</span></span><span>, </span><span><span class="hljs-title function_ invoke__">json_encode</span></span><span>(</span><span><span class="hljs-variable">$cacheData</span></span><span>));
</span><span><span class="hljs-comment">// Der Pfad zur Ausgabe der temporären Datei</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Die zwischengespeicherten Daten wurden in einer temporären Datei gespeichert:<span class="hljs-subst">$tempFile</span></span></span><span>";
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
Erstellen einer temporären Datei : tempnam () erstellt mit cache_ einen temporären Dateinamen, der vorangestellt ist. Diese Datei wird im temporären Verzeichnis des Systems gespeichert.
Generieren Sie zwischengespeicherte Daten : Wir simulieren zwischengespeicherte Daten über ein einfaches Array und konvertieren sie dann in das JSON -Format.
Schreiben Sie in temporäre Dateien : Verwenden Sie Datei_put_Contents (), um zwischengespeicherte Daten im JSON -Format in temporäre Dateien zu schreiben.
Da temporäre Dateien normalerweise vorübergehend Daten speichern, sollten wir diese Dateien rechtzeitig nach der Verwendung reinigen. In PHP ist das Löschen von Dateien sehr einfach. Verwenden Sie einfach die Funktion Unlink () .
<span><span><span class="hljs-comment">// Temporäre Dateien löschen</span></span><span>
</span><span><span class="hljs-title function_ invoke__">unlink</span></span><span>(</span><span><span class="hljs-variable">$tempFile</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Temporäre Datei gelöscht。"</span></span><span>;
</span></span>
Dies stellt sicher, dass unnötiger Speicherplatz nicht besetzt ist.
Das Kombinieren von tempnam () und file_put_contents () kann die Funktion zum Erstellen von temporären Dateien und zum Schreiben von Daten in diese Dateien realisieren. Diese Methode ist sehr nützlich, wenn Sie sich mit Szenarien wie Cache, temporärer Datenspeicherung usw. befassen. Mithilfe von Tempnam () kann ein eindeutiger temporärer Dateinamen erstellt werden können Konflikte von Dateinamen vermeiden. Datei_put_Contents () macht das Schreiben von Daten einfach und direkt. Denken Sie bei temporären Dateien daran, sie rechtzeitig nach dem Gebrauch zu reinigen, um zu viele Ressourcen zu vermeiden.
Mit diesen Tipps können Sie temporäre Dateien und Datenspeicher effizienter verwalten und die Flexibilität und Sicherheit der PHP -Entwicklung verbessern.