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