File & I/O trong PHP
Chương này sẽ giải thích các hàm liên quan đến file trong PHP:
- Mở file
- Đọc file
- Ghi file
- Đóng file
Mở và đóng file trong PHP
Hàm fopen() của PHP được sử dụng để mở một file. Nó yêu cầu 2 tham số, tham số thứ nhất là tên file, và tham số thứ 2 là mode, tức là chế độ để hoạt động.
Mode của file có thể được xác định như một trong 6 tùy chọn trong bảng sau.
Mode | Mục đích |
---|---|
r | Mở file và chỉ đọc. Di chuyển con trỏ file về đầu file |
r+ | Mở file cho việc đọc và ghi. Di chuyển con trỏ về đầu file |
w | Mở file và chỉ ghi. Di chuyển con trỏ về đầu file và cắt bỏ file về độ dài là 0. Nếu các file không tồn tại, nó sẽ cố gắng tạo ra một file. |
w+ | Mở file cho việc đọc và ghi. Di chuyển con trỏ về đầu file và cắt bỏ file có độ dài là 0. Nếu các file không tồn tại, nó sẽ cố gắng tạo ra một file. |
a | Mở file với mục đích chỉ ghi. Di chuyển con trỏ về cuối file Nếu các file không tồn tại, nó sẽ cố gắng tạo ra một file. |
a+ | Mở file với mục đích đọc và ghi. Di chuyển con trỏ về cuối file Nếu các file không tồn tại, nó sẽ cố gắng tạo ra một file. |
Nếu cố gắng mở một file thất bại, khi đó hàm fopen trả về một giá trị false, nếu không thì nó sẽ trả về một con trỏ file được sử dụng cho việc tiếp tục đọc hoặc ghi file đó.
Sau khi tạo một thay đổi cho file đã mở, việc quan trong bây giờ là đóng nó bởi sử dụng hàm fclose(). Hàm fclose() yêu cầu một con trỏ file như là một tham số của nó và sau đó trả về true nếu việc đóng thành công và false nếu ngược lại.
Đọc một file trong PHP
Khi một file được mở bằng cách sử dụng hàm fopen(), nó có thể được đọc với một hàm fread() trong PHP. Hàm này yêu cầu 2 tham số. Chúng phải là con trỏ file và độ dài của file tính bằng đơn vị byte.
Độ dài của file có thể được biết bằng cách sử dụng hàm filesize() trong PHP, nó nhận tên file như một tham số và trả lại kích cỡ của file bằng đơn bị byte.
Bạn theo các bước sau để đọc một file với PHP:
- Mở file sử dụng hàm fopen().
- Lấy độ dài file sử dụng hàm filesize().
- Đọc nội dung file sử dụng hàm fread().
- Đóng file sử dụng hàm fclose().
Giả sử bạn có một file chứa nội dung có tên tmp.txt. Nếu chưa có, hãy tạo một file text với nội dung bất kỳ.
Lưu chương trình trên trong một file có tên là test.php trong htdocs, sau đó mở trình duyệt và gõ địa chỉ http://localhost:8080/test.php để xem kết quả.
Ví dụ dưới đây gán nội dung của một text file cho một biến, sau đó hiển thị nội dung của chúng trên trang web.
<html> <head> <title>Đọc file trong PHP</title> </head> <body> <?php $filename = "tmp.txt"; $file = fopen( $filename, "r" ); if( $file == false ) { echo ( "Xảy ra lỗi khi mở file!" ); exit(); } $filesize = filesize( $filename ); $filetext = fread( $file, $filesize ); fclose( $file ); echo ( "Kích cỡ của file: $filesize bytes" );
echo ( "Nội dung của file: <br>" ); echo ( "<pre>$filetext</pre>" ); ?> </body> </html>
Lưu chương trình trên trong một file có tên là test.php trong htdocs, sau đó mở trình duyệt và gõ địa chỉ http://localhost:8080/test.php để xem kết quả.
Ghi file trong PHP
Một file mới có thể được ghi hoặc text có thể được phụ thêm vào một file đang tồn tại bằng cách sử dụng hàm fwrite() trong PHP. Hàm này yêu cầu 2 tham số: con trỏ file và chuỗi dữ liệu để được ghi. Một tham số integer thứ 3 tùy ý có thể được thêm vào để xác định độ dài của dữ liệu sẽ ghi. Nếu tham số thứ 3 được thêm vào, việc ghi sẽ dừng lại sau khi đã được đạt tới độ dài đã xác định.
Ví dụ sau tạo một text file mới, và ghi một đoạn text ngắn vào phần đầu của nó. Sau khi đóng file này, sự tồn tại của file này được xác nhận bởi hàm file_exist(), mà sẽ nhận tên file như một tham số.
<?php
$filename = "tmp.txt";
$file = fopen( $filename, "w" );
if( $file == false ) {
echo ( "Xảy ra lỗi khi mở file" );
exit();
}
fwrite( $file, "Ví dụ ghi file trong PHP.\n" );
fclose( $file );
?>
<html>
<head>
<title>Ghi file trong PHP</title>
</head>
<body>
<?php
$filename = "tmp.txt";
$file = fopen( $filename, "r" );
if( $file == false ) {
echo ( "Xảy ra lỗi khi mở file" );
exit();
}
$filesize = filesize( $filename );
$filetext = fread( $file, $filesize );
fclose( $file );
echo ( "Kích cỡ của file là: $filesize byte <br>" );
echo("Tên file là: $filename <br>");
echo ( "Dưới đây là nội dung của file: <br>" );
echo ( "$filetext" );
?>
</body>
</html>
Lưu chương trình trên trong một file có tên là test.php trong htdocs, sau đó mở trình duyệt và gõ địa chỉ http://localhost:8080/test.php sẽ cho kết quả:
Và bây giờ nội dung của tmp.txt sẽ là:
Chúng ta sẽ thảo luận tất cả hàm liên quan đến input và output file trong chương Hàm xử lý File trong PHP.
Theo tutorialspoint
Bài trước: Chèn file trong PHP
Bài tiếp: Hàm trong PHP
Bạn nên đọc
Theo Nghị định 147/2024/ND-CP, bạn cần xác thực tài khoản trước khi sử dụng tính năng này. Chúng tôi sẽ gửi mã xác thực qua SMS hoặc Zalo tới số điện thoại mà bạn nhập dưới đây:


Cũ vẫn chất
-
Cách chặn từ khóa và Hashtag trên Twitter
Hôm qua -
Dynamic System Updates là gì?
Hôm qua -
4 cách kiểm tra lịch sử giao dịch BIDV trên điện thoại, máy tính
Hôm qua -
Cách dùng Terabox lưu trữ với 1TB miễn phí
Hôm qua 5 -
Các cách làm, tùy chỉnh trong bài sẽ giúp tăng tốc Windows 10 của bạn "nhanh như gió"
Hôm qua 6 -
Cách sao chép hoặc tạo bản sao toàn bộ trang tính trong Google Sheets
Hôm qua -
Cách ẩn, hiện ghi chú trong bảng trên Excel
Hôm qua -
PING là gì? Test PING như thế nào?
Hôm qua -
DRAM và DRAM-less SSD có gì khác nhau?
Hôm qua -
Điểm ưu tiên, điểm khuyến khích, khu vực ưu tiên khi xét tuyển năm 2022
Hôm qua