Fungsi fopen() PHP
Definisi dan penggunaan
Fungsi fopen() membuka file atau URL.
Jika gagal membuka, fungsi ini kembalikan FALSE.
Sintaks
fopen(nama berkas,mode,include_path,konteks)
Parameter | Deskripsi |
---|---|
nama berkas | Wajib. Tentukan file atau URL yang akan dibuka. |
mode | Wajib. Tentukan jenis akses yang diperlukan ke file/stream ini. Nilai yang mungkin lihat tabel di bawah. |
include_path | Pilihan. Jika juga perlu mencari file di include_path, atur parameter ini menjadi 1 atau TRUE. |
konteks | Pilihan. Tentukan lingkungan penanganan file handler. Context adalah set opsi yang dapat mengubah perilaku stream. |
Nilai yang mungkin untuk parameter mode
mode | mengatakan |
---|---|
"r" | Buka file dengan mode baca saja, arahkan penanda penulisan ke awal file. |
"r+" | Buka file dengan mode baca dan tulis, arahkan penanda penulisan ke awal file. |
"w" | Buka file dengan mode tulis, arahkan penanda penulisan ke awal file dan potong ukuran file ke nol. Jika file tidak ada, coba buatnya. |
"w+" | Buka file dengan mode baca dan tulis, arahkan penanda penulisan ke awal file dan potong ukuran file ke nol. Jika file tidak ada, coba buatnya. |
"a" | Buka file dengan mode tulis, arahkan penanda penulisan ke akhir file. Jika file tidak ada, coba buatnya. |
"a+" | Buka file dengan mode baca dan tulis, arahkan penanda penulisan ke akhir file. Jika file tidak ada, coba buatnya. |
"x" |
Buat dan buka file dengan mode tulis, arahkan penanda penulisan ke awal file. Jika file sudah ada, pemanggilan fopen() gagal dan kembalikan FALSE, dan membuat kesalahan tingkat E_WARNING. ini adalah setara dengan menentukan tanda O_EXCL|O_CREAT bagi pemanggilan sistem open(2). opsi ini didukung oleh PHP 4.3.2 dan versi setelahnya, hanya dapat digunakan untuk berkas lokal. |
"x+" |
membuat dan membuka dengan mode baca-tulis, menempatkan penanda aliran ke awal berkas. Jika berkas sudah ada, pemanggilan fopen() gagal dan mengembalikan FALSE, serta menghasilkan pesan kesalahan tingkat E_WARNING. Jika berkas belum ada, berusaha untuk membuatnya. ini adalah setara dengan menentukan tanda O_EXCL|O_CREAT bagi pemanggilan sistem open(2). opsi ini didukung oleh PHP 4.3.2 dan versi setelahnya, hanya dapat digunakan untuk berkas lokal. |
mengatakan
fopen() akan nama berkas yang disebutkan diikat ke sumber daya dengan nama ke aliran. Jika nama berkas adalah "scheme://...jika berformat "" dianggap sebagai URL, PHP akan mencari pemroses protokol (juga disebut protokol pengebalut) untuk menangani mode ini. Jika protokol ini belum didaftarkan sebagai protokol pengebalut, PHP akan mengeluarkan pesan untuk membantu memeriksa masalah potensial di skrip. nama berkas lanjutkan sebagai nama berkas biasa.
jika PHP menduga nama berkas yang disebutkan adalah berkas lokal, akan mencoba membuka aliran di atas berkas ini. Berkas ini harus dapat diakses oleh PHP, sehingga perlu memastikan izin akses berkas memungkinkan akses ini. Jika diaktifkan mode keamanan atau open_basedir, akan diterapkan batasan lebih lanjut.
jika PHP menduga nama berkas yang disebutkan adalah protokol yang terdaftar, dan protokol ini didaftarkan sebagai URL jaringan, PHP akan memeriksa dan konfirmasi bahwa allow_url_fopen telah diaktifkan. Jika ditutup, PHP akan mengeluarkan peringatan, dan pemanggilan fopen akan gagal.
untuk konteks pendukungnya ditambahkan dalam PHP 5.0.0.
Pemberitahuan dan Komentar
Keterangan:Familia sistem operasi yang berbeda memiliki adat penutup baris yang berbeda. Saat menulis berkas teks dan ingin menambahkan baris baru, perlu menggunakan penutup baris yang sesuai dengan sistem operasi. Sistem berbasis Unix menggunakan \n sebagai karakter penutup baris, sistem berbasis Windows menggunakan \r\n sebagai karakter penutup baris, dan sistem berbasis Macintosh menggunakan \r sebagai karakter penutup baris. Jika digunakan simbol penutup baris yang salah saat menulis ke berkas, aplikasi lain yang membuka berkas ini mungkin akan berperan aneh.
Dalam Windows disediakan tanda konversi teks ("t") yang dapat secara transparan mengubah \n menjadi \r\n. Dengan demikian, dapat juga digunakan "b" untuk memaksa penggunaan mode biner, sehingga data tidak akan diubah. Untuk menggunakan tanda ini, baik dengan "b" maupun "t" sebagai karakter terakhir parameter mode.
Mode konversi standar tergantung SAPI dan versi PHP yang digunakan, sehingga untuk memudahkan keportabilitas, disarankan untuk selalu menentukan tanda yang benar. Jika mengoperasikan file teks dan menggunakan \n sebagai tanda akhir baris di skrip, tetapi masih mengharapkan file dapat dibaca oleh aplikasi lain seperti Notepad, gunakan "t" dalam mode. Dalam semua kasus lain, gunakan "b".
Dalam operasi file biner, jika tidak disebutkan tanda "b", mungkin akan menghadapi beberapa masalah aneh, termasuk file gambar rusak dan masalah aneh tentang karakter \r\n.
Keterangan:Untuk keportabilitas, disarankan untuk selalu menggunakan tanda "b" saat membuka file dengan fopen().
Keterangan:Kembali lagi, untuk keportabilitas, disarankan kuat untuk mengulang tulisan kode yang mengandung "t" mode untuk menggunakan tanda akhir baris yang benar dan diubah ke mode "b".
Contoh
<?php $file = fopen("test.txt","r"); $file = fopen("/home/test/test.txt","r"); $file = fopen("/home/test/test.gif","wb"); $file = fopen("http://www.example.com/","r"); $file = fopen("ftp://user:password@example.com/test.txt","w"); ?>