Cài đặt môi trường lập trình Web PHP với XAMPP
1. Trình thông dịch PHP (PHP interpreter) PHP là một ngôn ngữ lập trình kịch bản...
Kết quả sẽ mở trong tab mới, giới hạn trong website này.
Truy cập nhanh
Tìm kiếm gần đây
Trong bài này, chúng ta sẽ tìm hiểu về cách open và read file trong PHP. Để học tốt bài này, các bạn cần đọc lại bài Cài đặt môi trường lập trình Web PHP với XAMPP để biết cách chạy ứng dụng web PHP với XAMPP. 1. Mở file với hàm fopen() trong PHP […]
Trong bài này, chúng ta sẽ tìm hiểu về cách open và read file trong PHP. Để học tốt bài này, các bạn cần đọc lại bài Cài đặt môi trường lập trình Web PHP với XAMPP để biết cách chạy ứng dụng web PHP với XAMPP.
Hàm fopen() giúp mở một file và đưa file đó vào stream để chuẩn bị đọc/ghi dữ liệu. Cú pháp:
fopen(
string $filename,
string $mode,
bool $use_include_path = false,
?resource $context = null
): resource|false
Trong đó,
– $filename là đường dẫn của của file cần mở.
– $mode là các chế độ khi mở file.
– $use_include_path: nếu được đặt là ‘1’ hoặc true thì sẽ tìm file để mở trong include_path.
– $context là một context stream.
| Chế độ | Mô tả |
| r | Mở file và chỉ đọc. |
| w | Mở file và chỉ ghi dữ liệu. Xóa nội dung của file rồi ghi dữ liệu hoặc tạo một file mới nếu file không tồn tại. |
| a | Mở file và chỉ ghi dữ liệu. Nếu file đã tồn tại thì ghi tiếp dữ liệu vào file. Nều file không tồn tại thì tạo một file mới. |
| x | Tạo một file mới và chỉ ghi dữ liệu. Trả về FALSE và một error nếu file đã tồn tại. |
| r+ | Mở file để đọc/ghi dữ liệu. |
| w+ | Mở file để đọc/ghi dữ liệu. Xóa nội dung của file khi đọc/ghi dữ liệu hoặc tạo một file mới nếu file không tồn tại. |
| a+ | Mở file để đọc/ghi dữ liệu. Nếu file đã tồn tại thì đọc/ghi tiếp dữ liệu vào file. Nều file không tồn tại thì tạo một file mới. |
| x+ | Tạo một file mới để đọc/ghi dữ liệu. Trả về FALSE và một error nếu file đã tồn tại. |
Giả sử, chúng ta có file gochocit.txt nằm cùng thư mục với file code index.php của PHP với nội dung như sau:
Hello all, welcome to gochocit.com!
Very happy to see you visit gochocit.com.
Hope it might be useful for you!
Đoạn code bên dưới giúp mở và đọc file gochocit.txt.
<?php
$myfile = fopen("gochocit.txt", "r") or die("Unable to open file!");
echo fread($myfile, filesize("gochocit.txt"));
fclose($myfile);
?>
Hello all, welcome to gochocit.com! Very happy to see you visit gochocit.com. Hope it might be useful for you!Sau khi mở file với hàm fopen(), chúng ta có thể đọc/ghi file. Nếu không sử dụng nữa thì nên đóng file với hàm fclose().
Hàm readfile() giúp đọc một file và ghi file đó vào output buffer. Kết quả trả về của hàm readfile() là số byte đọc được từ file. Nếu không đọc được file thì trả về false.
<?php
$numberofbytes = readfile("gochocit.txt");
echo "<br>Number of bytes read from the file: ".$numberofbytes;
?>
Hello all, welcome to gochocit.com! Very happy to see you visit gochocit.com. Hope it might be useful for you!
Number of bytes read from the file: 112
Hàm fread() giúp đọc file khi đã mở file với hàm fopen(). Cú pháp của hàm fread():
fread(resource $stream, int $length): string|falseTrong đó,
Hàm fread() trả về chuỗi (string) đọc được hoặc trả về false nếu đọc file bị lỗi.
<?php
$myfile = fopen("gochocit.txt", "r") or die("Unable to open file!");
echo fread($myfile, filesize("gochocit.txt"));
fclose($myfile);
?>
Hello all, welcome to gochocit.com! Very happy to see you visit gochocit.com. Hope it might be useful for you!Hàm fgets() được sử dụng để đọc một dòng (single line) từ file.
<?php
$myfile = fopen("gochocit.txt", "r") or die("Unable to open file!");
echo fgets($myfile);
fclose($myfile);
?>
Hello all, welcome to gochocit.com!Hàm feof() kiểm tra xem đến cuối file “end-of-file” (EOF) hay chưa. Hàm feof() giúp lặp qua dữ liệu trong file có số dòng không xác định.
<?php
$myfile = fopen("gochocit.txt", "r") or die("Unable to open file!");
// Output one line until end-of-file
while(!feof($myfile)) {
echo fgets($myfile) . "<br>";
}
fclose($myfile);
?>
Hello all, welcome to gochocit.com!
Very happy to see you visit gochocit.com.
Hope it might be useful for you!
Hàm fgetc() được sử dụng để đọc một ký tự đơn lẻ từ một file.
<?php
$myfile = fopen("gochocit.txt", "r") or die("Unable to open file!");
// Output one line until end-of-file
while(!feof($myfile)) {
echo fgetc($myfile)." ";
}
fclose($myfile);
?>
H e l l o a l l , w e l c o m e t o g o c h o c i t . c o m ! V e r y h a p p y t o s e e y o u v i s i t g o c h o c i t . c o m . H o p e i t m i g h t b e u s e f u l f o r y o u !Ở bài này, chúng ta đã cùng tìm hiểu nhiều hàm đọc (read) file trong PHP. Tùy vào yêu cầu mà chúng ta sử dụng hàm nào cho hợp lý.