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).