×

Đọc và ghi dữ liệu từ file bằng PHP

Làm việc với các tệp tin trong PHP là một kỹ năng quan trọng đối với các nhà phát triển web. Việc đọc và ghi dữ liệu từ file có thể dùng cho nhiều mục đích khác nhau, bao gồm lưu trữ thông tin người dùng, quản lý cấu hình ứng dụng, hoặc xử lý dữ liệu đầu vào/đầu ra.

Đọc dữ liệu từ file

Một trong những cách đơn giản nhất để đọc dữ liệu từ file trong PHP là sử dụng hàm file_get_contents(). Hàm này đọc toàn bộ nội dung của một file và trả về dạng chuỗi.

$filename = 'example.txt';
$content = file_get_contents($filename);

if ($content !== false) {
    echo $content;
} else {
    echo "Lỗi khi đọc file.";
}

Nếu cần đọc file theo từng dòng, có thể sử dụng hàm fgets() cùng với hàm fopen()fclose(). Đầu tiên, mở file ở chế độ đọc, sau đó đọc từng dòng và cuối cùng là đóng file.

$filename = 'example.txt';
$file = fopen($filename, 'r');

if ($file) {
    while (($line = fgets($file)) !== false) {
        echo $line;
    }
    fclose($file);
} else {
    echo "Không thể mở file.";
}

Ghi dữ liệu vào file

Để ghi dữ liệu vào file, có thể dùng hàm file_put_contents(). Hàm này có khả năng ghi một chuỗi vào file và nếu file chưa tồn tại, nó sẽ tự động tạo file đó.

$filename = 'example.txt';
$content = "Đây là nội dung mới.";

if (file_put_contents($filename, $content) !== false) {
    echo "Dữ liệu đã được ghi vào file thành công.";
} else {
    echo "Lỗi khi ghi dữ liệu vào file.";
}

Nếu muốn thêm nội dung mới vào cuối file mà không ghi đè nội dung cũ, có thể mở file ở chế độ "a" (append).

$filename = 'example.txt';
$file = fopen($filename, 'a');

if ($file) {
    $content = "Đây là dòng mới.\n";
    fwrite($file, $content);
    fclose($file);
    echo "Dữ liệu đã được thêm vào file.";
} else {
    echo "Không thể mở file.";
}

Đọc và ghi dữ liệu từ file CSV

CSV (Comma-Separated Values) là một định dạng file phổ biến để lưu trữ dữ liệu bảng. PHP cung cấp các hàm tích hợp sẵn để làm việc với file CSV.

Đọc dữ liệu từ file CSV:

$filename = 'data.csv';
$file = fopen($filename, 'r');

while (($row = fgetcsv($file)) !== false) {
    print_r($row);
}

fclose($file);

Ghi dữ liệu vào file CSV:

$filename = 'data.csv';
$file = fopen($filename, 'w');
$data = [
    ['Tên', 'Tuổi', 'Email'],
    ['Nguyen Van A', 30, 'vana@example.com'],
    ['Tran Thi B', 25, 'thib@example.com']
];

foreach ($data as $row) {
    fputcsv($file, $row);
}

fclose($file);
echo "Dữ liệu đã được ghi vào file CSV.";

Kết luận

Làm việc với file trong PHP là một nhiệm vụ thông dụng và rất hữu ích trong việc xử lý thông tin từ người dùng hoặc lưu trữ dữ liệu cho ứng dụng. Bằng cách sử dụng các hàm tích hợp sẵn của PHP như file_get_contents(), file_put_contents(), fopen(), fclose(), và các hàm chuyên dụng cho CSV, lập trình viên có thể dễ dàng thao tác với các file một cách hiệu quả.

Comments