Sebbene Cloud Storage sia la soluzione consigliata per la lettura e la scrittura di file in App Engine, se la tua app deve solo scrivere file temporanei, puoi utilizzare metodi PHP 7+ standard per scrivere file in una directory denominata /tmp
.
Tutti i file in questa directory sono archiviati nella RAM dell'istanza, quindi la scrittura in /tmp
richiede memoria di sistema. Inoltre, i file nella directory /tmp
sono disponibili solo per l'istanza dell'app che ha creato i file. Quando l'istanza viene eliminata, vengono eliminati i file temporanei.
tempnam()
.
Questa versione di tempnam()
restituisce un file temporaneo in memoria che può essere
scritto in una soluzione di archiviazione permanente come
bucket Cloud Storage.
Di seguito è riportato un esempio su come creare un file in memoria con tempnam()
e poi scrivere sul file utilizzando file_put_contents()
e fwrite()
:
<?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);
Questo esempio produce il seguente output:
hello world