Hàm fwrite() Nối trong PHP
Trần Thị Vân
- 1159
- 06/08/2025
Hàm fwrite() Nối trong PHP là gì?
Hàm fwrite() Nối trong PHP là một cách kết hợp giữa hàm fwrite() ghi file và fopen() ở chế độ a hoặc a+ để nối nội dung cần thêm vào phía sau nội dung hiện tại.
Cú pháp của Hàm fwrite() Nối trong PHP
fwrite(fopen('đường_dẫn_file', 'a'), "nội_dung_cần_nối");
đường_dẫn_file: Đường dẫn tới file cần ghi nối.
nội_dung_cần_nối: Nội dung để ghi nối vào file.
Code Hàm fwrite() Nối trong PHP
Nội dung của file filetxt.txt trước khi nối:
Nội dung trong file trước khi nối
Code nối nội dung trong file:
<?php
$fnoi = fopen('filetxt.txt', 'a');//mở file ở chế độ nối thêm nội dung về phía sau
fwrite($fnoi, "\n");// Nối ký tự xuống dòng
fwrite($fnoi, 'Đây là dữ liệu được nối thêm vào file.');//Nối thêm nội dung phía sau
fclose($fnoi); // Đóng mở và ghi file
?>
Kết quả sau khi nối trong file được ghi:
Nội dung trong file trước khi nối
Đây là dữ liệu được nối thêm vào file.
Hàm fwrite() mặc định chỉ việc ghi dữ liệu vào file, để nối nội dung thêm vào phía sau nội dung hiện tại thì lúc mở file fopen ta để chế độ ở "a" hoặc "a+".
Những lưu ý khi dùng fwrite() để ghi nối file trong PHP
Khi sử dụng fwrite() để ghi thêm dữ liệu vào cuối file, kết quả không chỉ phụ thuộc vào hàm ghi mà còn phụ thuộc vào cách file được mở. Chọn đúng chế độ mở, kiểm tra file trước khi thao tác và xử lý trường hợp ghi thất bại sẽ giúp chương trình hoạt động ổn định hơn.
Phân biệt chế độ a và a+ khi mở file
Chế độ a được dùng khi mục đích chính là ghi thêm dữ liệu vào cuối file. Mỗi lần ghi, nội dung mới sẽ được đặt sau phần dữ liệu đang có mà không xóa nội dung cũ.
<?php
$file = fopen("data.txt", "a");
fwrite($file, "Nội dung mới\n");
fclose($file);
?>
Trong khi đó, a+ cho phép vừa đọc vừa ghi file và vẫn giữ cơ chế ghi thêm dữ liệu ở cuối. Chế độ này phù hợp khi chương trình cần xem nội dung hiện tại trước hoặc sau khi bổ sung dữ liệu.
<?php
$file = fopen("data.txt", "a+");
fwrite($file, "Dòng được thêm vào\n");
fclose($file);
?>
Nếu chỉ cần ghi nối, a thường là lựa chọn đơn giản và rõ ràng hơn. Không nên dùng w trong trường hợp muốn bảo toàn dữ liệu cũ vì chế độ này có thể làm rỗng file trước khi ghi nội dung mới.
Kiểm tra file trước khi ghi thêm dữ liệu
Trước khi gọi fwrite(), nên kiểm tra kết quả trả về từ fopen(). Nếu file không thể mở, việc tiếp tục thao tác với biến file có thể dẫn đến lỗi hoặc khiến chương trình không đạt được kết quả mong muốn.
<?php
$file = fopen("data.txt", "a");
if ($file !== false) {
fwrite($file, "Dữ liệu mới\n");
fclose($file);
}
?>
Cách kiểm tra này đặc biệt hữu ích khi đường dẫn file không chính xác, thư mục chưa tồn tại hoặc chương trình không có quyền truy cập. Với các chức năng ghi log, lưu dữ liệu hoặc tạo file tự động, kiểm tra ngay từ bước mở file giúp hạn chế lỗi phát sinh ở những bước sau.
Xử lý lỗi khi fwrite() không ghi được nội dung
Việc mở file thành công không đồng nghĩa với việc dữ liệu chắc chắn được ghi hoàn chỉnh. fwrite() trả về số byte đã ghi hoặc false nếu thao tác thất bại. Vì vậy, chương trình có thể dựa vào giá trị này để xác định kết quả.
<?php
$file = fopen("data.txt", "a");
if ($file !== false) {
$content = "Dữ liệu cần ghi\n";
$result = fwrite($file, $content);
if ($result === false) {
echo "Không thể ghi dữ liệu vào file.";
}
fclose($file);
}
?>
Nếu ứng dụng cần đảm bảo một chuỗi được ghi đầy đủ, có thể đối chiếu số byte trả về với độ dài dữ liệu cần ghi. Điều này đặc biệt đáng chú ý khi xử lý dữ liệu lớn hoặc các thao tác ghi quan trọng, bởi một lần ghi không thành công không nên bị xem như đã hoàn tất.
Lời kết
Cảm ơn các bạn đã tham khảo bài viết Hàm fwrite() Nối trong PHP.
- 0 Bình luận
Email, Điện thoại của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *