Nell'ambiente standard PHP 5 di Google App Engine, il file system locale di cui è stato eseguito il deployment dell'applicazione in non è scrivibile. Questo comportamento garantisce la sicurezza e la scalabilità della tua applicazione.
Se invece l'applicazione deve scrivere e leggere file in fase di runtime, L'ambiente standard PHP 5 fornisce un wrapper flusso Google Cloud Storage integrato che ti consente di utilizzare molte delle Funzioni del file system PHP per leggere e scrivere file.
Esistono due modi per scrivere file in Google Cloud Storage:
- Scrivere file dall'app
- Scrittura file semplice
- Scrittura di file in streaming
- Consentire all'utente di caricare file su Google Cloud Storage
Scrittura di file dall'app
Se scrivi file dalla tua app, puoi scrivere l'intero file contemporaneamente o eseguire la scrittura in streaming.
Il wrapper flusso App Engine per Cloud Storage è integrato nella
runtime e viene utilizzato quando fornisci un nome file che inizia con gs://
. Il wrapper richiede che il nome dell'oggetto del bucket o del file sia nel seguente formato:
gs://bucket_name/desired_object_name
Scrittura file semplice
Per scrivere dati in Google Cloud Storage dalla tua app, utilizzi
file_put_contents
, utilizzando un URL di spazio di archiviazione sul cloud valido. Ad esempio:
dove my_bucket
è un
bucket Google Cloud Storage configurato correttamente.
In alternativa, se vuoi utilizzare le opzioni di streaming per fornire autorizzazioni, memorizzazione nella cache e/o opzioni di metadati, puoi scrivere come segue:
Scrittura di file in streaming
In alternativa, puoi utilizzare fopen
/fwrite
per scrivere i dati in streaming:
Tieni presente che, quando utilizzi la modalità flusso, i dati vengono sottoposti a flush in Google Cloud Storage in blocchi più piccoli. Non è necessario conoscere la lunghezza totale dei dati da scrivere in anticipo: verrà calcolato alla chiusura della risorsa file:
Questi sono i metodi di base per scrivere file. Per casi d'uso speciali e più avanzati la gestione di file, consulta gli argomenti elencati in Passaggi successivi.
Eliminazione di file
Se vuoi eliminare il file, utilizza la funzione PHP unlink().
Caricamenti utente
Per maggiori dettagli sull'opzione di scrittura di questo file, vedi Consentire agli utenti di caricare file
Lettura dei file
Per informazioni sulla lettura di file da Google Cloud Storage, vedi Fornire l'accesso pubblico ai file
Configurazione e requisiti
Devi attivare Google Cloud Storage e creare un bucket. Per ulteriori dettagli, consulta Configurazione.
Funzioni di file system PHP 5 supportate
Molte delle funzioni per i file PHP 5 più comunemente utilizzate sono supportate, insieme alle informazioni sui file e alle funzioni di directory. Per un elenco completo delle funzioni PHP supportate, consulta Supporto delle funzioni del file system di PHP 5.
Funzionalità estese fornite dall'API Cloud Storage Tools
Il wrapper stream di Google Cloud Storage ti consente di utilizzare le chiamate al file system PHP. Tuttavia, ci sono le funzionalità estese disponibili di cui potresti aver bisogno per un utilizzo ottimale di Google Cloud Storage. Queste funzionalità avanzate sono fornite nell'API Cloud Storage Tools:
Questa API offre un insieme di funzioni che supportano la pubblicazione di file insieme ad altre utili utilità. Tratteremo molti di questi le altre pagine degli argomenti.
Esiste un altro modo per leggere e scrivere file?
Un'app PHP 5 di App Engine deve utilizzare il wrapper flusso Cloud Storage
per scrivere file in fase di runtime. Tuttavia, se un'app deve leggere i file e questi ultimi
sono statici, se vuoi puoi leggere i file statici caricati con la tua app
utilizzando funzioni di file system PHP come file_get_contents
.
Ad esempio:
in cui il percorso specificato deve essere un percorso relativo allo script che vi accede.
Quando esegui il deployment, devi caricare il file o i file in una sottodirectory dell'applicazione
la tua app in App Engine e devi configurare il file app.yaml
in modo che
l'app può accedere ai file. Per i dettagli completi, vedi
Configurazione dell'applicazione PHP 5 con app.yaml
.
Nella configurazione app.yaml
, tieni presente che se utilizzi un file statico o un gestore di directory
(static_files
o static_dir
) devi specificare
application_readable
impostato su true o la tua app non potrà leggere i file.
Tuttavia, se i file vengono pubblicati da un gestore script
, questo non è necessario.
perché, per impostazione predefinita, questi file sono leggibili dai gestori di script.
Passaggi successivi
Leggi i seguenti argomenti per maggiori dettagli sull'utilizzo dell'API Cloud Storage Tools:
- Configurazione, istruzioni per la configurazione rapida.
- Fornire accesso pubblico ai file mostra come consentire agli utenti di scaricare file tramite browser.
- Consenti agli utenti di caricare file mostra come caricare i file direttamente tramite browser, bypassando l'app.
- Utilizzo dei file immagine mostra i modi ottimali per gestire e pubblicare le immagini.
- Gestione avanzata dei file tratta i seguenti argomenti:
- Opzioni relative ad autorizzazioni, memorizzazione nella cache e flussi di metadati.
- Supporto delle funzioni di file system PHP.
- Utilizzo di PHP
include
erequire
. - Lettura e scrittura di metadati personalizzati.
- Letture dei file memorizzati nella cache.