Menulis dan Menambahkan Isi ke File
Tulis data ke file dengan file_put_contents dan FILE_APPEND.
Menulis dan Menambahkan Isi ke File adalah pelajaran PHP Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar PHP Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus PHP Academy mencakup 4 pelajaran total.
Menulis Berkas dalam PHP
PHP menyediakan beberapa cara untuk menulis ke berkas:
file_put_contents()— menulis string ke berkas dalam satu pemanggilanfopen()+fwrite()— menulis berbasis aliran- Gunakan opsi
FILE_APPENDuntuk menambahkan isi, bukan menimpa
file_put_contents()
Menulis string ke berkas — membuat berkas jika belum ada, dan menimpa isinya jika sudah ada:
<?php
$data = "Hello, PHP!\nThis is line 2.\n";
$bytes = file_put_contents('/tmp/output.txt', $data);
if ($bytes === false) {
echo 'Failed to write';
} else {
echo "Wrote $bytes bytes";
}Menambahkan dengan FILE_APPEND
Tambahkan isi ke akhir berkas yang sudah ada dengan opsi FILE_APPEND:
<?php
$logEntry = date('Y-m-d H:i:s') . ' - User logged in' . PHP_EOL;
file_put_contents(
'/var/log/app.log',
$logEntry,
FILE_APPEND | LOCK_EX // append + exclusive lock
);Mode Penulisan fopen
Mode pembukaan untuk fopen menentukan cara berkas dibuka:
'w'— menulis, memotong hingga panjang nol atau membuat berkas'a'— menulis, menambahkan, membuat jika belum ada'x'— menulis, gagal jika berkas sudah ada'r+'— membaca dan menulis dari awal, berkas harus sudah ada
fopen + fwrite
Menulis berbasis aliran untuk kontrol yang lebih presisi:
<?php
$handle = fopen('/tmp/report.txt', 'w');
if ($handle === false) die('Cannot open file');
fwrite($handle, "Report generated: " . date('Y-m-d') . "\n");
fwrite($handle, str_repeat('-', 40) . "\n");
fwrite($handle, "Total: 1234\n");
fclose($handle);
echo 'Report written';Menulis Berkas CSV
Gunakan fputcsv() untuk menulis baris CSV yang diformat dengan benar:
<?php
$rows = [
['Name', 'Email', 'Score'],
['Alice', 'alice@test.com', 95],
['Bob', 'bob@test.com', 87],
];
$handle = fopen('/tmp/results.csv', 'w');
foreach ($rows as $row) {
fputcsv($handle, $row);
}
fclose($handle);Menulis Berkas JSON
Serialisasikan data PHP ke JSON dan tulis ke berkas:
<?php
$config = [
'version' => '2.0',
'debug' => false,
'db' => ['host' => 'localhost', 'port' => 3306],
];
$json = json_encode($config, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES);
file_put_contents('/app/config.json', $json);
echo 'Config saved';Penulisan Berkas Atomik
Tulis ke berkas sementara, lalu ganti namanya untuk pembaruan atomik yang aman saat terjadi kerusakan:
<?php
$target = '/app/data.json';
$tmpFile = $target . '.tmp.' . uniqid();
$data = json_encode(['ts' => time(), 'value' => 42]);
file_put_contents($tmpFile, $data, LOCK_EX);
rename($tmpFile, $target); // atomic on most OSes
echo 'File updated atomically';Izin dan Kepemilikan
Tetapkan izin berkas setelah pembuatan dengan chmod():
<?php
$path = '/var/www/uploads/avatar.jpg';
// Copy uploaded temp file to destination
move_uploaded_file($_FILES['avatar']['tmp_name'], $path);
// Set permissions (owner read/write, group read, world read)
chmod($path, 0644);
echo 'File uploaded and permissions set';Berkas Sementara
Buat berkas sementara dengan aman menggunakan tempnam() atau tmpfile():
<?php
// Create a named temp file
$tmpPath = tempnam(sys_get_temp_dir(), 'php_');
file_put_contents($tmpPath, 'temp data');
$content = file_get_contents($tmpPath);
unlink($tmpPath); // delete when done
// Anonymous temp file handle
$tmp = tmpfile();
fwrite($tmp, 'anonymous temp');
// auto-deleted when $tmp is garbage collectedMenyalin dan Memindahkan Berkas
Salin dan ganti nama atau pindahkan berkas dengan fungsi bawaan:
<?php
// Copy a file
copy('/src/template.html', '/dst/page.html');
// Move / rename
rename('/tmp/upload_abc', '/storage/images/photo.jpg');
// Delete
unlink('/tmp/old_file.txt');
// Check if file was copied successfully
if (copy('a.txt', 'backup.txt')) {
echo 'Backup created';
}Pemeriksaan Singkat
Opsi apa yang diteruskan ke file_put_contents() untuk menambahkan isi ke akhir berkas, bukan menimpanya?
Rangkuman: Menulis Berkas
Hal-hal penting dalam menulis berkas:
file_put_contents()— penulisan atau penimpaan paling sederhana- Opsi
FILE_APPENDuntuk menambahkan isi fopen('a', ...)+fwrite()untuk penulisan berbasis aliranfputcsv()untuk keluaran CSV- Penulisan atomik: tulis ke berkas sementara +
rename() chmod()untuk menetapkan izin setelah pembuatan
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Menulis dan Menambahkan Isi ke File” gratis?
Ya — teks lengkap “Menulis dan Menambahkan Isi ke File” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus PHP Academy, upgrade ke CoddyKit PRO. Kursus PHP Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Menulis dan Menambahkan Isi ke File”?
Tulis data ke file dengan file_put_contents dan FILE_APPEND. Kamu berlatih PHP Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai PHP Academy?
Tidak diperlukan pengalaman sebelumnya. PHP Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.
Berapa lama pelajaran “Menulis dan Menambahkan Isi ke File” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran PHP Academy ini?
Ya. Setiap pelajaran PHP Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Membaca File dengan PHP
- Menulis dan Menambahkan Isi ke File
- Mengelola Direktori
- Menangani Unggahan File