Di Lingkungan Standar PHP 5 Google App Engine, sistem file lokal tempat aplikasi Anda di-deploy tidak dapat ditulisi. Perilaku ini memastikan keamanan dan skalabilitas aplikasi Anda.
Namun, jika aplikasi Anda perlu menulis dan membaca file saat runtime, lingkungan standar PHP 5 akan menyediakan wrapper streaming Google Cloud Storage bawaan yang memungkinkan Anda untuk menggunakan banyak Fungsi sistem file PHP standar untuk membaca dan menulis file.
Ada dua cara untuk menulis file ke Google Cloud Storage:
- Menulis file dari aplikasi
- Penulisan file sederhana
- Penulisan file yang di-streaming
- Mengizinkan pengguna mengupload file ke Google Cloud Storage
Menulis file dari aplikasi Anda
Jika menulis file dari aplikasi, Anda dapat menulis seluruh file sekaligus, atau melakukan streaming penulisan file.
Wrapper aliran App Engine untuk Cloud Storage merupakan bawaan
pada runtime, dan digunakan saat Anda memberikan nama file yang dimulai dengan gs://
. Wrapper
mengharuskan nama bucket atau objek file dalam format:
gs://bucket_name/desired_object_name
Penulisan file sederhana
Untuk menulis data ke Google Cloud Storage dari aplikasi, gunakan
file_put_contents
, menggunakan URL penyimpanan cloud yang valid. Contoh:
dengan my_bucket
adalah
bucket Google Cloud Storage yang dikonfigurasi dengan benar.
Atau, jika ingin menggunakan opsi streaming untuk memberikan opsi izin, caching, dan/atau metadata, Anda dapat menulis file sebagai berikut:
Penulisan file yang di-streaming
Atau, Anda dapat menggunakan fopen
/fwrite
untuk menulis data dalam mode
streaming:
Perhatikan bahwa saat Anda menggunakan streaming, data akan dipindahkan ke Google Cloud Storage dalam potongan yang lebih kecil. Anda tidak perlu mengetahui panjang total data yang akan ditulis di awal: panjang total data akan dihitung saat resource file ditutup:
Ini adalah cara dasar untuk menulis file. Untuk kasus penggunaan khusus dan pengelolaan file lanjutan lainnya, lihat topik yang tercantum di bagian Langkah berikutnya.
Menghapus file
Jika Anda ingin menghapus file itu sendiri, gunakan fungsi unlink() PHP.
Upload pengguna
Untuk mengetahui detail tentang opsi penulisan file ini, lihat Mengizinkan Pengguna untuk Mengupload File
Membaca file
Untuk informasi tentang membaca file dari Google Cloud Storage, lihat Menyediakan Akses Publik ke File
Penyiapan dan Persyaratan
Anda perlu mengaktifkan Google Cloud Storage dan membuat bucket. Lihat Penyiapan untuk detail selengkapnya.
Fungsi sistem file PHP 5 yang didukung
Banyak fungsi file PHP 5 yang umum digunakan didukung, begitu juga dengan informasi file dan fungsi direktori. Untuk mengetahui daftar lengkap fungsi PHP yang didukung, lihat Dukungan fungsi sistem file PHP 5.
Fitur yang diperluas yang disediakan oleh Cloud Storage Tools API
Wrapper streaming Google Cloud Storage memungkinkan Anda menggunakan panggilan sistem file PHP. Namun, ada beberapa fitur tambahan yang tersedia yang mungkin Anda perlukan untuk penggunaan Google Cloud Storage yang optimal. Fitur tambahan ini disediakan dalam Cloud Storage Tools API:
API ini menyediakan serangkaian fungsi yang mendukung penayangan file dan gambar, beserta utilitas berguna lainnya. Kami akan membahas beberapa di antaranya di halaman topik lainnya.
Apakah ada cara lain untuk membaca dan menulis file?
Aplikasi App Engine PHP 5 harus menggunakan wrapper streaming Cloud Storage
untuk menulis file saat runtime. Namun, jika aplikasi perlu membaca file, dan file ini
bersifat statis, Anda dapat memilih untuk membaca file statis yang diupload dengan aplikasi
menggunakan fungsi sistem file PHP, seperti file_get_contents
.
Contoh:
di mana jalur yang ditentukan harus merupakan jalur yang relatif terhadap skrip yang mengaksesnya.
Anda harus mengupload file atau beberapa file dalam subdirektori aplikasi saat men-deploy
aplikasi ke App Engine, dan harus mengonfigurasi file app.yaml
agar
aplikasi Anda dapat mengakses file tersebut. Untuk detail selengkapnya, lihat
Konfigurasi Aplikasi PHP 5 dengan app.yaml
.
Dalam konfigurasi app.yaml
, perhatikan bahwa jika Anda menggunakan file statis atau pengendali direktori
(static_files
atau static_dir
), Anda harus menentukan
application_readable
yang ditetapkan ke true atau aplikasi Anda menang tidak dapat membaca file.
Namun, jika file disajikan oleh pengendali script
, hal ini tidak diperlukan,
karena file ini secara default dapat dibaca oleh pengendali skrip.
Langkah berikutnya
Baca topik berikut untuk mengetahui detail tentang penggunaan Cloud Storage Tools API:
- Penyiapan, petunjuk penyiapan cepat.
- Memberikan Akses Publik ke File menunjukkan cara memungkinkan pengguna mendownload file melalui browser.
- Mengizinkan Pengguna Mengupload File, menunjukkan cara mengupload file melalui browser secara langsung, mengabaikan aplikasi Anda.
- Menggunakan File Gambar menunjukkan cara optimal untuk mengelola dan menayangkan gambar.
- Advanced File Management, mencakup hal berikut:
- Izin, penyimpanan dalam cache, dan opsi streaming metadata.
- Dukungan fungsi sistem file PHP.
- Menggunakan PHP
include
danrequire
. - Membaca dan menulis metadata kustom.
- Pembacaan file yang di-cache.