0Pricing
PHP Academy · Pelajaran

Membaca File dengan PHP

Baca isi file menggunakan file_get_contents dan fopen/fread.

Membaca File dengan PHP adalah pelajaran PHP Academy gratis di CoddyKit. Ini adalah pelajaran 1 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.

PHP dan Sistem Berkas

PHP dapat membaca, menulis, dan mengelola berkas di sistem berkas server. Fungsi utama untuk membaca:

  • file_get_contents() — membaca seluruh berkas sebagai string
  • fopen() + fread() — membaca berbasis aliran
  • file() — membaca berkas ke dalam array yang berisi baris-baris

file_get_contents()

Cara paling sederhana untuk membaca seluruh isi berkas ke dalam sebuah string:

<?php
$content = file_get_contents('/var/www/html/data.txt');

if ($content === false) {
    echo 'Could not read file';
} else {
    echo $content;
    echo strlen($content) . ' bytes';
}

Memeriksa Keberadaan Berkas

Selalu periksa terlebih dahulu sebelum membaca untuk menghindari kesalahan:

<?php
$path = '/var/data/config.json';

if (!file_exists($path)) {
    die('Config file not found');
}

if (!is_readable($path)) {
    die('No permission to read file');
}

$json = file_get_contents($path);
$config = json_decode($json, true);

file() — Membaca ke dalam Array

file() membaca sebuah berkas dan mengembalikan setiap baris sebagai elemen array:

<?php
$lines = file('data.csv', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);

foreach ($lines as $lineNum => $line) {
    echo ($lineNum + 1) . ': ' . $line . PHP_EOL;
}

fopen, fread, fclose

Membaca aliran tingkat rendah untuk berkas besar — proses berkas tanpa memuat semuanya ke dalam memori:

<?php
$handle = fopen('large_file.txt', 'r');

if ($handle === false) die('Cannot open file');

// Read 1KB at a time
while (!feof($handle)) {
    $chunk = fread($handle, 1024);
    echo $chunk;
}

fclose($handle);

fgets untuk Membaca Baris demi Baris

fgets() membaca satu baris setiap kali — hemat memori untuk berkas besar:

<?php
$handle = fopen('server.log', 'r');

while (($line = fgets($handle)) !== false) {
    if (str_contains($line, 'ERROR')) {
        echo 'Found error: ' . $line;
    }
}

fclose($handle);

Membaca Berkas Jarak Jauh

file_get_contents() juga dapat membaca dari URL HTTP jika allow_url_fopen diaktifkan:

<?php
$json = file_get_contents('https://api.example.com/data.json');

// Prefer cURL for more control and error handling
$ch = curl_init('https://api.example.com/data.json');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
$status   = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

SplFileObject

SplFileObject menyediakan antarmuka OO untuk operasi berkas:

<?php
$file = new SplFileObject('data.txt', 'r');

foreach ($file as $lineNum => $line) {
    echo $lineNum . ': ' . $line;
}

// Read specific line:
$file->seek(5);
echo $file->current(); // line 6 (0-indexed)

Membaca Berkas JSON

Pola yang umum: membaca dan mendekode berkas konfigurasi JSON:

<?php
function loadJsonConfig(string $path): array {
    if (!file_exists($path)) {
        throw new RuntimeException("Config not found: $path");
    }
    $json = file_get_contents($path);
    $data = json_decode($json, true);
    if (json_last_error() !== JSON_ERROR_NONE) {
        throw new RuntimeException('Invalid JSON: ' . json_last_error_msg());
    }
    return $data;
}

$cfg = loadJsonConfig('/app/config.json');

Informasi Berkas

Dapatkan metadata tentang sebuah berkas tanpa membaca isinya:

<?php
$path = '/var/www/html/image.jpg';

echo filesize($path);           // bytes
echo filetype($path);           // 'file'
echo filemtime($path);          // last modified timestamp
echo date('Y-m-d', filemtime($path));

$info = pathinfo($path);
echo $info['dirname'];    // /var/www/html
echo $info['basename'];   // image.jpg
echo $info['extension'];  // jpg

Mengunci Berkas

Gunakan penguncian berkas untuk mencegah konflik penulisan secara bersamaan:

<?php
$handle = fopen('counter.txt', 'r+');

if (flock($handle, LOCK_EX)) {  // exclusive lock
    $count = (int) fread($handle, 20);
    $count++;
    fseek($handle, 0);
    fwrite($handle, $count);
    fflush($handle);
    flock($handle, LOCK_UN);    // release
}

fclose($handle);

Pemeriksaan Singkat

Fungsi PHP mana yang membaca seluruh berkas ke dalam sebuah string dalam satu pemanggilan?

Rangkuman: Membaca Berkas

Hal-hal penting dalam membaca berkas:

  • file_get_contents() — seluruh berkas sebagai string
  • file() — berkas sebagai array baris
  • fopen/fread/fclose — aliran untuk berkas besar
  • fgets() — membaca aliran baris demi baris
  • Selalu periksa file_exists dan is_readable terlebih dahulu
  • Gunakan flock untuk keamanan akses secara bersamaan

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Membaca File dengan PHP” gratis?

Ya — teks lengkap “Membaca File dengan PHP” 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 “Membaca File dengan PHP”?

Baca isi file menggunakan file_get_contents dan fopen/fread. 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 1 dari 4.

Berapa lama pelajaran “Membaca File dengan PHP” 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

  1. Membaca File dengan PHP
  2. Menulis dan Menambahkan Isi ke File
  3. Mengelola Direktori
  4. Menangani Unggahan File
← Kembali ke PHP Academy