Temporäre Dateien lesen und schreiben

Cloud Storage ist die empfohlene Lösung zum Lesen und Schreiben von Dateien in App Engine. Wenn Ihre Anwendung aber nur temporäre Dateien schreiben muss, können Sie mit den Standardmethoden von PHP 7+ Dateien in ein Verzeichnis mit dem Namen /tmp schreiben.

Alle Dateien in diesem Verzeichnis werden im RAM der Instanz gespeichert. Daher wird beim Schreiben in /tmp Systemarbeitsspeicher belegt. Darüber hinaus sind Dateien im Verzeichnis /tmp nur für die Anwendungsinstanz verfügbar, mit der die Dateien erstellt wurden. Wenn die Instanz gelöscht wird, werden auch die temporären Dateien gelöscht.

Wenn Sie eine temporäre Datei in einen dauerhaften Speicher schreiben möchten, erstellen Sie die Datei mit der App Engine-Version von tempnam(). Diese Version von tempnam() gibt eine speicherinterne temporäre Datei zurück, die in eine dauerhafte Speicherlösung wie Cloud Storage-Buckets geschrieben werden kann.

Das folgende Beispiel zeigt, wie Sie mit tempnam() eine speicherinterne Datei erstellen und dann mit file_put_contents() und fwrite() in die Datei schreiben:

<?php
$dir = sys_get_temp_dir();
$tmp = tempnam($dir, "foo");
file_put_contents($tmp, "hello");
$f = fopen($tmp, "a");
fwrite($f, " world");
fclose($f);
echo file_get_contents($tmp);

Von diesem Beispiel wird die folgende Ausgabe zurückgegeben:

hello world