Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> PHP

Hàm file_put_contents() trong PHP


Hàm file_put_contents() ghi dữ liệu vào file một cách tiện lợi (tương đương fopen + fwrite + fclose). Tạo file mới nếu chưa có, ghi đè nếu tồn tại (trừ khi dùng FILE_APPEND). Trả về số byte ghi, FALSE nếu lỗi.

Cú pháp

file_put_contents(file_path, data, flags, context)

Tham số

  • file_path – Đường dẫn file.

  • data – Dữ liệu ghi (string, array, stream resource). Array sẽ imploded thành chuỗi.

  • flags – Kết hợp (bitwise OR) các hằng:

    • FILE_USE_INCLUDE_PATH – Tìm file trong include_path.

    • FILE_APPEND – Ghi thêm vào cuối file (không ghi đè).

    • LOCK_EX – Khóa độc quyền khi ghi (tránh race condition).

    • FILE_TEXT / FILE_BINARY – Chế độ text/binary (PHP 6+, ít dùng).

  • context – Stream context (tùy chọn).

Giá trị trả về

Trả về số byte đã ghi. Trả về FALSE nếu lỗi.

Ví dụ 1: Ghi đơn giản

<?php
echo file_put_contents("new.txt", "This is it!");
?>

Kết quả

11

Ví dụ 2: Đọc file, thêm dòng, ghi lại (append)

<?php
$file_path = 'one.txt';
$myfile = file_get_contents($file_path);
$myfile .= "Demo line!\n";
file_put_contents($file_path, $myfile);
?>

Kết quả

10

Lưu ý: Dùng FILE_APPEND | LOCK_EX để ghi log an toàn đa tiến trình. file_put_contents() atomic trên POSIX (ghi file tạm rồi rename).