- Messages
- 585
- Points
- 10
- Language
- Tiếng Việt
Trong PHP, làm việc với tập tin có nhiều vấn đề trong đó đọc và ghi tập tin là 2 tác vụ thường được dùng. Bài viết này tôi sẽ hướng dẫn các bạn thao tác đọc và ghi tập tin đơn giản.
Các bạn tham khảo cấu trúc thư mục tôi dùng để hướng dẫn các bạn như sau:
1. Đọc tập tin:
Để đọc một tập tin các bạn thực hiện 2 bước tuần tự như sau:
Các bạn chạy tập tin read.php và xem kết quả.
Ở ví dụ này, tôi chỉ hướng dẫn các bạn đọc toàn bộ nội dung của tập tin. PHP còn cho phép các bạn đọc từng ký tự của nội dung tập tin bằng hàm fgetc và đọc từng dòng nội dung của tập tin bằng hàm fgets. Các bạn có thể tìm hiểu 2 hàm này tại địa chỉ http://php.net/manual/en/function.fgetc.php và http://php.net/manual/en/function.fgets.php.
2. Ghi tập tin:
Để ghi một tập tin các bạn cũng thực hiện 2 bước tuần tự như sau:
Các bạn chạy tập tin write.php và mở tập tin data/write.txt để xem kết quả.
Các bạn tham khảo cấu trúc thư mục tôi dùng để hướng dẫn các bạn như sau:
Code:
data
-----read.txt
-----write.txt
read.php
write.php
Để đọc một tập tin các bạn thực hiện 2 bước tuần tự như sau:
- Mở tập tin cần đọc với quyền được đọc tập tin.
- Đọc tập tin.
- r: Chỉ được quyền đọc tập tin.
- r+: Được quyền đọc và ghi tập tin.
- w: Chỉ được quyền ghi tập tin.
- w+: Được quyền ghi và đọc tập tin. Nếu tập tin này tồn tại thì nội dung cũ sẽ bị xoá đi và thay bằng nội dung mới, ngược lại nếu tập tin chưa tồn tại thì sẽ tạo mới tập tin.
- a: Mở tập tin dưới dạng nối tiếp dữ liệu, chỉ có quyền ghi tập tin. Nếu tập tin tồn tại thì sẽ ghi tiếp nội dung phía dưới, ngược lại nếu tập tin chưa tồn tại thì sẽ tạo mới tập tin.
- a+: Mở tập tin dưới dạng nối tiếp dữ liệu, có quyền ghi và đọc tập tin. Nếu tập tin tồn tại thì sẽ ghi tiếp nội dung phía dưới, ngược lại nếu tập tin chưa tồn tại thì sẽ tạo mới tập tin.
- b: Mở tập tin dưới dạng binary.
PHP:
<?php
//Tạo biến chứa đường dẫn tập tin
$file = __DIR__ . '/data/read.txt';
//Kiểm tra nếu tập tin tồn tại thì xử lý tiếp
if (file_exists($file)) {
//Mở tập tin
$fp = fopen($file, 'r');
//Đọc toàn bộ nội dung tập tin
$data = fread($fp, filesize($file));
//In ra màn hình nội dung tập tin
echo $data;
}
Ở ví dụ này, tôi chỉ hướng dẫn các bạn đọc toàn bộ nội dung của tập tin. PHP còn cho phép các bạn đọc từng ký tự của nội dung tập tin bằng hàm fgetc và đọc từng dòng nội dung của tập tin bằng hàm fgets. Các bạn có thể tìm hiểu 2 hàm này tại địa chỉ http://php.net/manual/en/function.fgetc.php và http://php.net/manual/en/function.fgets.php.
2. Ghi tập tin:
Để ghi một tập tin các bạn cũng thực hiện 2 bước tuần tự như sau:
- Mở tập tin cần ghi với quyền được ghi tập tin.
- Ghi tập tin.
PHP:
<?php
//Tạo biến chứa đường dẫn tập tin
$file = __DIR__ . '/data/write.txt';
//Kiểm tra nếu tập tin tồn tại thì xử lý tiếp
if (file_exists($file)) {
//Mở tập tin
$fp = fopen($file, 'w');
//Ghi tập tin
fwrite($fp, 'Chào mừng đến với Gextend');
}