Chương này sẽ giải thích các chức năng sau liên quan đến tệp:
- Mở một tập tin
- Đọc một tập tin
- Viết một tập tin
- Đóng tệp
Mở và đóng tệp
PHP fopen () được sử dụng để mở một tập tin. Nó yêu cầu hai đối số nêu rõ đầu tiên là tên tệp và sau đó là chế độ hoạt động.
Chế độ tệp có thể được chỉ định là một trong sáu tùy chọn trong bảng này.
Sr.No | Chế độ & Mục đích |
---|---|
1 | r Mở tệp chỉ để đọc. Đặt con trỏ tệp ở đầu tệp. |
2 | r + Mở tệp để đọc và ghi. Đặt con trỏ tệp ở đầu tệp. |
3 | w Chỉ mở tệp để ghi. Đặt con trỏ tệp ở đầu tệp. và cắt ngắn tệp thành độ dài bằng không. Nếu tệp không tồn tại sau đó nó cố gắng tạo một tệp. |
4 | w + Mở tệp chỉ để đọc và ghi. Đặt con trỏ tệp ở đầu tệp. và cắt ngắn tệp thành độ dài bằng không. Nếu tệp không tồn tại sau đó nó cố gắng tạo một tệp. |
5 | một Chỉ mở tệp để ghi. Đặt con trỏ tệp ở cuối tệp. Nếu tệp không tồn tại thì nó sẽ cố gắng tạo tệp. |
6 | a + Mở tệp chỉ để đọc và ghi. Đặt con trỏ tệp ở cuối tệp. Nếu tệp không tồn tại thì nó sẽ cố gắng tạo tệp. |
Nếu cố gắng mở tệp không thành công thì fopen trả về giá trị sai nếu không nó trả về một con trỏ tệp được sử dụng để đọc hoặc ghi thêm vào tệp đó.
Sau khi thực hiện các thay đổi đối với tệp đã mở, điều quan trọng là phải đóng tệp đó bằng fclose () hàm số. Các fclose () hàm yêu cầu một con trỏ tệp làm đối số của nó và sau đó trả về thật khi đóng cửa thành công hoặc sai nếu nó không thành công.
Đọc một tập tin
Sau khi một tệp được mở bằng cách sử dụng fopen () chức năng nó có thể được đọc với một chức năng được gọi là fread (). Hàm này yêu cầu hai đối số. Đây phải là con trỏ tệp và độ dài của tệp được biểu thị bằng byte.
Độ dài tệp có thể được tìm thấy bằng cách sử dụng Kích thước tập tin() hàm lấy tên tệp làm đối số và trả về kích thước của tệp được biểu thị bằng byte.
Vì vậy, đây là các bước cần thiết để đọc một tệp bằng PHP.
Mở tệp bằng fopen () hàm số.
Nhận độ dài của tệp bằng cách sử dụng Kích thước tập tin() hàm số.
Đọc nội dung của tệp bằng cách sử dụng fread () hàm số.
Đóng tệp bằng fclose () hàm số.
Ví dụ sau đây gán nội dung của tệp văn bản cho một biến sau đó hiển thị các nội dung đó trên trang web.
<html> <head> <title>Reading a file using PHP</title> </head> <body> <?php $filename = "tmp.txt"; $file = fopen( $filename, "r" ); if( $file == false ) { echo ( "Error in opening file" ); exit(); } $filesize = filesize( $filename ); $filetext = fread( $file, $filesize ); fclose( $file ); echo ( "File size : $filesize bytes" ); echo ( "<pre>$filetext</pre>" ); ?> </body> </html>
Nó sẽ tạo ra kết quả sau:
Viết một tập tin
Một tệp mới có thể được viết hoặc văn bản có thể được nối vào tệp hiện có bằng PHP fwrite () hàm số. Hàm này yêu cầu hai đối số chỉ định một con trỏ tệp và chuỗi dữ liệu sẽ được ghi. Tùy chọn có thể đưa vào một đối số số nguyên thứ ba để chỉ định độ dài của dữ liệu cần ghi. Nếu đối số thứ ba được bao gồm, việc ghi sẽ dừng lại sau khi đạt đến độ dài được chỉ định.
Ví dụ sau đây tạo một tệp văn bản mới, sau đó viết một tiêu đề văn bản ngắn vào bên trong nó. Sau khi đóng tệp này, sự tồn tại của nó được xác nhận bằng cách sử dụng tập tin tồn tại() hàm lấy tên tệp làm đối số
<?php $filename = "/home/user/guest/newfile.txt"; $file = fopen( $filename, "w" ); if( $file == false ) { echo ( "Error in opening new file" ); exit(); } fwrite( $file, "This is a simple test\n" ); fclose( $file ); ?> <html> <head> <title>Writing a file using PHP</title> </head> <body> <?php $filename = "newfile.txt"; $file = fopen( $filename, "r" ); if( $file == false ) { echo ( "Error in opening file" ); exit(); } $filesize = filesize( $filename ); $filetext = fread( $file, $filesize ); fclose( $file ); echo ( "File size : $filesize bytes" ); echo ( "$filetext" ); echo("file name: $filename"); ?> </body> </html>
Nó sẽ tạo ra kết quả sau:
Chúng tôi đã trình bày tất cả các chức năng liên quan đến nhập và xuất tệp trong chương Chức năng hệ thống tệp PHP.