Fungsi fopen()_ juga digunakan untuk membuat file. Mungkin sedikit membingungkan, tetapi dalam PHP, sebuah file dibuat menggunakan fungsi yang sama dengan yang digunakan untuk membuka file
Jika Anda menggunakan fopen() pada file yang tidak ada, itu akan membuatnya, mengingat file dibuka untuk menulis (w) atau menambahkan (a)
Contoh di bawah membuat file baru bernama "testfile. txt". File akan dibuat di direktori yang sama di mana kode PHP berada
Contoh
$filesaya = fopen("filetes. txt", "w")
Izin File PHP
Jika Anda mengalami kesalahan saat mencoba menjalankan kode ini, periksa apakah Anda telah memberikan akses file PHP Anda untuk menulis informasi ke hard drive
PHP Tulis ke File - fwrite()
Fungsi fwrite() digunakan untuk menulis ke file
Parameter pertama fwrite()_ berisi nama file yang akan ditulis dan parameter kedua adalah string yang akan ditulis
Contoh di bawah menulis beberapa nama ke dalam file baru bernama "newfile. txt"
Contoh
$filesaya = fopen("filebaru. txt", "w") or die("Tidak dapat membuka file. ");
$txt = "John Doe\n";
fwrite($filesaya, $txt);
$txt = "Jane Doe\n";
fwrite($filesaya, $txt);
fclose($filesaya);
?>
Perhatikan bahwa kami menulis ke file "newfile. txt" dua kali. Setiap kali kami menulis ke file, kami mengirimkan string $txt yang pertama berisi "John Doe" dan yang kedua berisi "Jane Doe". Setelah kami selesai menulis, kami menutup file menggunakan fungsi fclose()
Jika kita membuka file "newfile. txt" akan terlihat seperti ini
Menimpa PHP
Sekarang "file baru. txt" berisi beberapa data yang dapat kami tunjukkan apa yang terjadi ketika kami membuka file yang ada untuk ditulis. Semua data yang ada akan DIHAPUS dan kita mulai dengan file kosong
Pada contoh di bawah ini kami membuka file "newfile. txt", dan tulis beberapa data baru ke dalamnya
Contoh
$filesaya = fopen("filebaru. txt", "w") or die("Tidak dapat membuka file. ");
$txt = "Mickey Mouse\n";
fwrite($filesaya, $txt);
$txt = "Minnie Mouse\n";
fwrite($filesaya, $txt);
fclose($filesaya);
?>
Jika sekarang kita membuka file "newfile. txt", kita akan melihat bahwa Donald Duck dan Goofy Goof ditambahkan ke akhir file
Jika filename_ tidak ada, file dibuat. Jika tidak, file yang ada akan ditimpa, kecuali bendera FILE_APPEND disetel
Parameter
filenamePath ke file tempat menulis data
dataData yang akan ditulis. Dapat berupa string, array, atau sumber daya aliran
Jika data adalah sumber aliran, sisa buffer dari aliran itu akan disalin ke file yang ditentukan. Ini mirip dengan menggunakan stream_copy_to_stream()
Anda juga dapat menentukan parameter data_ sebagai array dimensi tunggal. Ini setara dengan $data_1
$data_2Nilai $data2 dapat berupa kombinasi apa saja dari flag berikut, digabungkan dengan operator biner OR ($data4)
FlagsFlagDescription$data5Cari filename di direktori yang tersedia. Lihat untuk informasi lebih lanjut. FILE_APPENDJika file filename sudah ada, tambahkan data ke file alih-alih menimpanya. $data_9Dapatkan kunci eksklusif pada file saat melanjutkan ke penulisan. Dengan kata lain, panggilan flock() terjadi antara panggilan fopen() dan panggilan fwrite(). Ini tidak identik dengan panggilan fopen() dengan mode "x". $flags_0Sumber daya konteks yang valid dibuat dengan stream_context_create()
Nilai Pengembalian
Fungsi ini mengembalikan jumlah byte yang ditulis ke file, atau $flags1 pada kegagalan
Peringatan
Fungsi ini dapat mengembalikan Boolean $flags1, tetapi juga dapat mengembalikan nilai non-Boolean yang dievaluasi menjadi $flags1. Silakan baca bagian tentang Boolean untuk informasi lebih lanjut. Gunakan operator === untuk menguji nilai kembalian dari fungsi ini
Contoh
Contoh #1 Contoh penggunaan sederhana
$flags_4
Contoh #2 Menggunakan bendera
$flags_5
Catatan
Catatan. Fungsi ini aman untuk biner
Tip
URL dapat digunakan sebagai nama file dengan fungsi ini jika telah diaktifkan. Lihat fopen() untuk detail lebih lanjut tentang cara menentukan nama file. Lihat Protokol dan Pembungkus yang Didukung untuk tautan ke informasi tentang kemampuan apa yang dimiliki berbagai pembungkus, catatan tentang penggunaannya, dan informasi tentang variabel yang telah ditentukan sebelumnya yang mungkin mereka sediakan
Selamat datang di tutorial singkat tentang cara menulis dan menambahkan file di PHP. Perlu menulis beberapa data ke file di proyek Anda?
Ada 2 cara umum untuk menulis dan menambahkan data ke file di PHP
- Tulis string ke file
- file_put_contents("FILE.NAME", "DATA");
- Untuk menambahkan ke file yang sudah ada, kirimkan bendera tambahan – file_put_contents("FILE.NAME", "DATA", FILE_APPEND);
- Buka aliran file dan tulis data ke dalamnya
- $fh = fopen("FILE", "w") untuk membuat aliran baru, atau $fh = fopen("FILE", "a") untuk menambahkan ke file yang ada
- fwrite($fh, "STRING TO WRITE");
- <?php // (A) WRITE TO FILE - FILE WILL BE OVERRIDEN! $fh = fopen("demo.txt", "w"); fwrite($fh, "This will override the entire file!"); fclose($fh); // (B) TO APPEND - USE "A" INSTEAD OF "W" $fh = fopen("demo.txt", "a"); fwrite($fh, " This will be appended."); fclose($fh); // (C) DONE echo "DONE!";0
Itu harus mencakup dasar-dasar cepat, tetapi baca terus jika Anda membutuhkan lebih banyak contoh
ⓘ Saya telah menyertakan file zip dengan semua contoh kode sumber di awal tutorial, jadi Anda tidak perlu menyalin-tempel semuanya… Atau jika Anda hanya ingin langsung masuk
TLDR – SLIDE CEPAT
Unduh & Catatan
UNDUH & CATATAN
Pertama, berikut adalah tautan unduhan ke contoh kode sumber seperti yang dijanjikan
CATATAN CEPAT
Jika Anda menemukan bug, jangan ragu untuk berkomentar di bawah ini. Saya mencoba menjawab pertanyaan singkat juga, tetapi itu adalah satu orang versus seluruh dunia… Jika Anda sangat membutuhkan jawaban, silakan periksa daftar situs web saya untuk mendapatkan bantuan dalam pemrograman
DOWNLOAD KODE CONTOH
Klik di sini untuk mengunduh semua kode sumber contoh, saya telah merilisnya di bawah lisensi MIT, jadi silakan membangun di atasnya atau menggunakannya dalam proyek Anda sendiri
CONTOH FILE PHP MENULIS
Baiklah, sekarang mari kita masuk ke berbagai contoh cara menulis file di PHP
CONTOH 1) MENULIS KE FILE MENGGUNAKAN ISI PUT
1-put-isi. php
<?php // (A) PUT CONTENTS (WILL OVERRIDE EXISTING) file_put_contents("demo.txt", "This will always override the file."); // (B) TO APPEND, PASS IN AN "APPEND" FLAG file_put_contents("demo.txt", " Appended.", FILE_APPEND); // (C) DONE echo "DONE!";_Yap, ini adalah cara bebas repot yang paling nyaman untuk menulis ke file di PHP – Cukup gunakan fungsi <?php // (A) WRITE TO FILE - FILE WILL BE OVERRIDEN! $fh = fopen("demo.txt", "w"); fwrite($fh, "This will override the entire file!"); fclose($fh); // (B) TO APPEND - USE "A" INSTEAD OF "W" $fh = fopen("demo.txt", "a"); fwrite($fh, " This will be appended."); fclose($fh); // (C) DONE echo "DONE!";1. Tetapi perhatikan bahwa ini akan menimpa file secara default, ingatlah untuk meneruskan <?php // (A) WRITE TO FILE - FILE WILL BE OVERRIDEN! $fh = fopen("demo.txt", "w"); fwrite($fh, "This will override the entire file!"); fclose($fh); // (B) TO APPEND - USE "A" INSTEAD OF "W" $fh = fopen("demo.txt", "a"); fwrite($fh, " This will be appended."); fclose($fh); // (C) DONE echo "DONE!";2 jika Anda ingin menambahkan file sebagai gantinya
CONTOH 2) TULIS dan TAMBAHKAN MENGGUNAKAN FOPEN
2-tulis-tambahkan. php
<?php // (A) WRITE TO FILE - FILE WILL BE OVERRIDEN! $fh = fopen("demo.txt", "w"); fwrite($fh, "This will override the entire file!"); fclose($fh); // (B) TO APPEND - USE "A" INSTEAD OF "W" $fh = fopen("demo.txt", "a"); fwrite($fh, " This will be appended."); fclose($fh); // (C) DONE echo "DONE!";Ini adalah cara menulis atau menambahkan file yang "tidak terlalu nyaman" ke dalam PHP
- <?php // (A) WRITE TO FILE - FILE WILL BE OVERRIDEN! $fh = fopen("demo.txt", "w"); fwrite($fh, "This will override the entire file!"); fclose($fh); // (B) TO APPEND - USE "A" INSTEAD OF "W" $fh = fopen("demo.txt", "a"); fwrite($fh, " This will be appended."); fclose($fh); // (C) DONE echo "DONE!";3 membuka aliran file untuk dikerjakan. Catat parameter "mode" kedua - <?php // (A) WRITE TO FILE - FILE WILL BE OVERRIDEN! $fh = fopen("demo.txt", "w"); fwrite($fh, "This will override the entire file!"); fclose($fh); // (B) TO APPEND - USE "A" INSTEAD OF "W" $fh = fopen("demo.txt", "a"); fwrite($fh, " This will be appended."); fclose($fh); // (C) DONE echo "DONE!";4 singkatan dari "tulis"m dan <?php // (A) WRITE TO FILE - FILE WILL BE OVERRIDEN! $fh = fopen("demo.txt", "w"); fwrite($fh, "This will override the entire file!"); fclose($fh); // (B) TO APPEND - USE "A" INSTEAD OF "W" $fh = fopen("demo.txt", "a"); fwrite($fh, " This will be appended."); fclose($fh); // (C) DONE echo "DONE!";5 singkatan dari "tambahkan". Tapi tentu saja masih banyak lagi, saya akan meninggalkan tautan ke manual PHP resmi di bawah ini jika Anda tertarik
- <?php // (A) WRITE TO FILE - FILE WILL BE OVERRIDEN! $fh = fopen("demo.txt", "w"); fwrite($fh, "This will override the entire file!"); fclose($fh); // (B) TO APPEND - USE "A" INSTEAD OF "W" $fh = fopen("demo.txt", "a"); fwrite($fh, " This will be appended."); fclose($fh); // (C) DONE echo "DONE!";6 menulis ke file
- <?php // (A) WRITE TO FILE - FILE WILL BE OVERRIDEN! $fh = fopen("demo.txt", "w"); fwrite($fh, "This will override the entire file!"); fclose($fh); // (B) TO APPEND - USE "A" INSTEAD OF "W" $fh = fopen("demo.txt", "a"); fwrite($fh, " This will be appended."); fclose($fh); // (C) DONE echo "DONE!";_7 menutup aliran file. Sangat disarankan untuk melakukannya karena tidak ada yang menyukai file yang rusak
Jadi mengapa beberapa "orang bodoh" bersusah payah untuk menggunakan metode "tidak nyaman" ini?
CONTOH 3) MENAMBAH BARIS BARU
3 baris baru. php
// (A) OPEN/CREATE FILE - LOOP & WRITE $fh = fopen("demo.txt", "w"); // (B) WRITE LINES fwrite($fh, "First line.\r\n"); fwrite($fh, "Second line.\r\n"); fwrite($fh, "Third line.\r\n"); // (C) DONE fclose($fh); echo "DONE!";- Saat menambahkan baris baru, ada 2 "karakter khusus" yang harus Anda ketahui. <?php // (A) WRITE TO FILE - FILE WILL BE OVERRIDEN! $fh = fopen("demo.txt", "w"); fwrite($fh, "This will override the entire file!"); fclose($fh); // (B) TO APPEND - USE "A" INSTEAD OF "W" $fh = fopen("demo.txt", "a"); fwrite($fh, " This will be appended."); fclose($fh); // (C) DONE echo "DONE!";8 untuk “carriage return” dan <?php // (A) WRITE TO FILE - FILE WILL BE OVERRIDEN! $fh = fopen("demo.txt", "w"); fwrite($fh, "This will override the entire file!"); fclose($fh); // (B) TO APPEND - USE "A" INSTEAD OF "W" $fh = fopen("demo.txt", "a"); fwrite($fh, " This will be appended."); fclose($fh); // (C) DONE echo "DONE!";9 untuk “line feed”
- Kemudian tibalah bagian yang menyakitkan – Linux menggunakan <?php // (A) WRITE TO FILE - FILE WILL BE OVERRIDEN! $fh = fopen("demo.txt", "w"); fwrite($fh, "This will override the entire file!"); fclose($fh); // (B) TO APPEND - USE "A" INSTEAD OF "W" $fh = fopen("demo.txt", "a"); fwrite($fh, " This will be appended."); fclose($fh); // (C) DONE echo "DONE!";9, Mac menggunakan <?php // (A) WRITE TO FILE - FILE WILL BE OVERRIDEN! $fh = fopen("demo.txt", "w"); fwrite($fh, "This will override the entire file!"); fclose($fh); // (B) TO APPEND - USE "A" INSTEAD OF "W" $fh = fopen("demo.txt", "a"); fwrite($fh, " This will be appended."); fclose($fh); // (C) DONE echo "DONE!";8, Windows menggunakan // (A) OPEN/CREATE FILE - LOOP & WRITE $fh = fopen("demo.txt", "w"); // (B) WRITE LINES fwrite($fh, "First line.\r\n"); fwrite($fh, "Second line.\r\n"); fwrite($fh, "Third line.\r\n"); // (C) DONE fclose($fh); echo "DONE!";2. Baca di Wikipedia jika Anda tertarik
- Sebagian besar ninja kode hanya mengangkat bahu dan menggunakan // (A) OPEN/CREATE FILE - LOOP & WRITE $fh = fopen("demo.txt", "w"); // (B) WRITE LINES fwrite($fh, "First line.\r\n"); fwrite($fh, "Second line.\r\n"); fwrite($fh, "Third line.\r\n"); // (C) DONE fclose($fh); echo "DONE!";2 terlepas dari itu, dan ini semacam "dipahami secara universal" sebagai jeda baris tunggal
CONTOH 4) MENULIS ARRAY KE FILE, LINE-BY-LINE
4-tulis-array. php
<?php // (A) ARRAY OF DATA $data = ["Apple", "Beet", "Cabbage", "Durian", "Elderberry"]; // (B) OPEN/CREATE FILE - LOOP & WRITE $fh = fopen("demo.txt", "w"); foreach ($data as $d) { fwrite($fh, $d."\r\n"); } // (C) DONE fclose($fh); echo "DONE!";Ini seharusnya tidak menjadi misteri lagi
- Kami membuka file menggunakan // (A) OPEN/CREATE FILE - LOOP & WRITE $fh = fopen("demo.txt", "w"); // (B) WRITE LINES fwrite($fh, "First line.\r\n"); fwrite($fh, "Second line.\r\n"); fwrite($fh, "Third line.\r\n"); // (C) DONE fclose($fh); echo "DONE!";_4 seperti biasa
- Kemudian cukup gunakan // (A) OPEN/CREATE FILE - LOOP & WRITE $fh = fopen("demo.txt", "w"); // (B) WRITE LINES fwrite($fh, "First line.\r\n"); fwrite($fh, "Second line.\r\n"); fwrite($fh, "Third line.\r\n"); // (C) DONE fclose($fh); echo "DONE!";_5 untuk mengulang melalui array
- Gunakan // (A) OPEN/CREATE FILE - LOOP & WRITE $fh = fopen("demo.txt", "w"); // (B) WRITE LINES fwrite($fh, "First line.\r\n"); fwrite($fh, "Second line.\r\n"); fwrite($fh, "Third line.\r\n"); // (C) DONE fclose($fh); echo "DONE!";_6 untuk menulis setiap elemen ke file, baris demi baris
- Terakhir, tutup file dengan benar dengan // (A) OPEN/CREATE FILE - LOOP & WRITE $fh = fopen("demo.txt", "w"); // (B) WRITE LINES fwrite($fh, "First line.\r\n"); fwrite($fh, "Second line.\r\n"); fwrite($fh, "Third line.\r\n"); // (C) DONE fclose($fh); echo "DONE!";7
CONTOH 5) MENULIS ARRAY KE FILE CSV
5-tulis-csv. php
<?php // (A) ARRAY OF DATA $data = [ ["Apple", "Beet", "Cabbage"], ["Durian", "Elderberry", "Fennel"], ["Grape", "Honeydew", "Imbe"], ["Jackfruit", "Kiwi", "Lemon"] ]; // (B) OPEN FILE & WRITE $fh = fopen("demo.csv", "w"); foreach ($data as $row) { fputcsv($fh, $row); } // (C) DONE! fclose($fh); echo "DONE!";Ini adalah contoh terakhir, dan sedikit tambahan untuk kalian yang ingin membuat laporan atau spreadsheet. Ya, ada fungsi // (A) OPEN/CREATE FILE - LOOP & WRITE $fh = fopen("demo.txt", "w"); // (B) WRITE LINES fwrite($fh, "First line.\r\n"); fwrite($fh, "Second line.\r\n"); fwrite($fh, "Third line.\r\n"); // (C) DONE fclose($fh); echo "DONE!";_8 yang dapat kita gunakan dengan mudah untuk membuat file CSV
BIT & LINK EKSTRA
Itu saja untuk tutorial ini, dan ini adalah bagian kecil tentang beberapa tambahan dan tautan yang mungkin berguna bagi Anda