Lettura e scrittura nei file temporanei

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.

Se vuoi scrivere un file temporaneo nello spazio di archiviazione permanente, crea il file con la versione di App Engine di 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