Lesson 8 โ€ข Intermediate

    File Handling ๐Ÿ“‚

    Read, write, and manage files on the server โ€” essential for logging, data persistence, file uploads, and CSV processing.

    What You'll Learn in This Lesson

    • โ€ข Writing files with file_put_contents() and fopen()
    • โ€ข Reading files as strings, arrays, or line-by-line
    • โ€ข File modes: read, write, append, create
    • โ€ข Directory operations: create, list, scan
    • โ€ข CSV processing and file security best practices

    1๏ธโƒฃ Quick vs Detailed File Access

    ApproachFunctionsBest For
    Quick (one-liner)file_get/put_contents()Small files, simple ops
    Handle-basedfopen, fgets, fcloseLarge files, streaming

    Try It: Reading & Writing Files

    Write, read, and append to files using PHP's file functions

    Try it Yourself ยป
    JavaScript
    // PHP File Handling (simulated in JavaScript)
    console.log("=== Writing Files ===");
    console.log();
    
    // file_put_contents โ€” the simplest way to write
    console.log("file_put_contents('data.txt', 'Hello, World!');");
    console.log("  โ†’ Writes 'Hello, World!' to data.txt");
    console.log("  โ†’ Creates the file if it doesn't exist");
    console.log("  โ†’ OVERWRITES existing content!");
    console.log();
    
    // Append mode
    console.log("file_put_contents('log.txt', 'New entry', FILE_APPEND);");
    console.log("  โ†’ Adds 
    ...

    Try It: File Operations & Directories

    Check file info, manage directories, and process CSV data

    Try it Yourself ยป
    JavaScript
    // File Operations & Directory Handling
    console.log("=== File Information ===");
    console.log();
    
    // Simulated file stats
    let stats = {
        exists: true,
        size: 2048,
        modified: "2024-12-15 14:30:22",
        permissions: "0644",
        type: "file",
        extension: "txt",
    };
    
    console.log("file_exists('data.txt')  โ†’ " + stats.exists);
    console.log("filesize('data.txt')     โ†’ " + stats.size + " bytes");
    console.log("filemtime('data.txt')    โ†’ " + stats.modified);
    console.log("pathinfo('data.txt')['ex
    ...

    โš ๏ธ Common Mistakes

    โš ๏ธ
    Forgetting to close files โ€” always call fclose($handle) or use file_put_contents() which handles this automatically.
    โš ๏ธ
    Using 'w' mode by accident โ€” fopen('file.txt', 'w') truncates (erases) the file! Use 'a' for append.
    โš ๏ธ
    Not checking file_exists() โ€” reading a non-existent file throws a warning. Always check first.
    ๐Ÿ’ก
    Pro Tip: For log files, use file_put_contents($file, $msg . PHP_EOL, FILE_APPEND | LOCK_EX) โ€” LOCK_EX prevents race conditions in concurrent writes.

    ๐Ÿ“‹ Quick Reference โ€” File Handling

    FunctionPurpose
    file_get_contents()Read entire file as string
    file_put_contents()Write string to file
    file()Read file into array of lines
    fopen() / fclose()Open/close file handle
    fgets() / fwrite()Read/write line by line
    scandir() / mkdir()List/create directories

    ๐ŸŽ‰ Lesson Complete!

    You've mastered PHP file handling! Next, learn how to process HTML forms and handle user input securely.

    Sign up for free to track which lessons you've completed and get learning reminders.

    Previous

    Cookie & Privacy Settings

    We use cookies to improve your experience, analyze traffic, and show personalized ads. You can manage your preferences below.

    By clicking "Accept All", you consent to our use of cookies for analytics and personalized advertising. You can customize your preferences or reject non-essential cookies.

    Privacy Policy โ€ข Terms of Service