In der PHP 5-Standardumgebung von Google App Engine ist das lokale Dateisystem, in dem Ihre Anwendung bereitgestellt wird, nicht beschreibbar. Dadurch werden die Sicherheit und Skalierbarkeit der Anwendung sichergestellt.
Wenn Ihre Anwendung jedoch Dateien zur Laufzeit schreiben und lesen soll, bietet die Standardumgebung von PHP 5 einen integrierten Google Cloud Storage-Stream-Wrapper, mit dem Sie viele Standardfunktionen des PHP-Dateisystems zum Lesen und Schreiben von Dateien verwenden können.
Es gibt zwei Möglichkeiten, Dateien in Google Cloud Storage zu schreiben:
- Schreiben Sie Dateien aus einer Anwendung heraus:
- Einfaches Schreiben von Dateien
- Schreiben von Dateien via Stream
- Erlauben Sie Nutzern das Hochladen von Dateien in Google Cloud Storage.
Dateien aus einer Anwendung heraus schreiben
Wenn Sie aus einer Anwendung heraus eine Datei schreiben, können Sie die gesamte Datei auf einmal schreiben oder die Datei per Stream schreiben.
Der App Engine-Stream-Wrapper für Cloud Storage ist in die Laufzeit eingebettet und wird verwendet, wenn Sie einen Dateinamen angeben, der mit gs://
beginnt. Der Wrapper benötigt den Namen des Buckets oder Dateiobjekts in folgendem Format:
gs://bucket_name/desired_object_name
Einfaches Schreiben von Dateien
Um Daten aus Ihrer Anwendung in Google Cloud Storage zu schreiben, verwenden Sie file_put_contents
mit einer gültigen Cloudspeicher-URL. Beispiel:
Dabei gilt: my_bucket
ist ein ordnungsgemäß konfigurierter Google Cloud Storage-Bucket.
Wenn Sie Streamoptionen verwenden möchten, um Berechtigungen, Caching und/oder Metadatenoptionen bereitzustellen, schreiben Sie die Datei so:
Schreiben von Dateien via Stream
Alternativ können Sie fopen
/fwrite
verwenden, um Daten via Streaming zu schreiben:
Beachten Sie, dass die Daten beim Streaming in Form kleinerer Teilmengen an Google Cloud Storage gesendet werden. Sie müssen die Gesamtlänge der zu schreibenden Daten nicht im Voraus kennen, da sie berechnet wird, wenn die Dateiressource geschlossen wird:
Dies sind die grundlegenden Möglichkeiten zum Schreiben von Dateien. Informationen zu speziellen Anwendungsfällen und zur erweiterten Dateiverwaltung finden Sie im Abschnitt Weitere Informationen.
Dateien löschen
Zum Löschen einer Datei verwenden Sie die PHP-Funktion unlink().
Uploads durch Nutzer
Weitere Informationen zu dieser Option zum Schreiben von Dateien finden Sie unter Nutzern das Hochladen von Dateien erlauben.
Dateien lesen
Informationen zum Lesen von Dateien aus Google Cloud Storage finden Sie unter Öffentlichen Zugriff auf Dateien bereitstellen.
Einrichtung und Anforderungen
Sie müssen Google Cloud Storage aktivieren und einen Bucket erstellen. Weitere Informationen finden Sie unter "Einrichtung".
Unterstützte PHP 5-Dateisystemfunktionen
Viele der häufig verwendeten PHP 5-Dateifunktionen sowie Dateiinformations- und Verzeichnisfunktionen werden unterstützt. Eine vollständige Liste der unterstützten PHP-Funktionen finden Sie unter Unterstützung von PHP 5-Dateisystemfunktionen.
Von der Cloud Storage Tools API bereitgestellte erweiterte Funktionen
Mit dem Google Cloud Storage-Stream-Wrapper können Sie PHP-Dateisystemaufrufe verwenden. Sie benötigen jedoch möglicherweise noch einige der verfügbaren erweiterten Funktionen, um Google Cloud Storage optimal nutzen zu können. Diese erweiterten Funktionen werden in der Cloud Storage Tools API bereitgestellt:
Diese API bietet neben weiteren nützlichen Dienstprogrammen eine Reihe von Funktionen, mit denen das Bereitstellen von Dateien und Bildern unterstützt wird. Einige dieser Funktionen werden auf den Themenseiten behandelt, die im Abschnitt Weitere Informationen verlinkt sind.
Gibt es noch andere Möglichkeiten, Dateien zu lesen und zu schreiben?
PHP 5-Anwendungen von App Engine müssen den Cloud Storage-Stream-Wrapper verwenden, um Dateien zur Laufzeit zu schreiben. Wenn eine Anwendung jedoch Dateien lesen muss und diese Dateien statisch sind, können Sie diese statischen Dateien, die über Ihre Anwendung hochgeladenen wurden, optional mit PHP-Dateisystemfunktionen wie file_get_contents
lesen.
Beispiel:
Dabei muss der angegebene Pfad relativ zu dem des Skripts sein, das auf die Dateien zugreift.
Wenn Sie die Anwendung in App Engine bereitstellen, müssen Sie die Dateien in ein Unterverzeichnis der Anwendung hochladen und die Datei app.yaml
konfigurieren, damit die Anwendung auf diese Dateien zugreifen kann. Weitere Informationen finden Sie unter PHP 5-Anwendungskonfiguration mit app.yaml
.
Wenn Sie eine statische Datei oder einen Verzeichnis-Handler (static_files
oder static_dir
) verwenden, müssen Sie in der Konfigurationsdatei app.yaml
die Option application_readable
auf "true" (wahr) setzen. Andernfalls kann Ihre Anwendung die Dateien nicht lesen.
Wenn die Dateien jedoch von einem script
-Handler bereitgestellt werden, ist dies nicht notwendig, da diese Dateien standardmäßig von Skript-Handlern gelesen werden können.
Weitere Informationen
Mehr Details zur Verwendung der Cloud Storage Tools API finden Sie auf den Seiten zu folgenden Themen:
- Einrichtung: Anleitungen zur schnellen Einrichtung
- Öffentlichen Zugriff auf Dateien bereitstellen: Nutzern das Herunterladen von Dateien über den Browser erlauben
- Nutzern das Hochladen von Dateien erlauben: Dateien direkt über den Browser hochladen und somit die Anwendung umgehen
- Bilder bereitstellen: Bilder optimal verwalten und bereitstellen
- Erweiterte Dateiverwaltung behandelt folgende Themen:
- Streamoptionen für Berechtigungen, Caching und Metadaten
- Unterstützung für PHP-Dateisystemfunktionen
- Mit PHP 5
include
undrequire
- Benutzerdefinierte Metadaten lesen und schreiben
- Lesevorgänge im Cache gespeicherter Dateien