News & Events
Bài 17: File và I/O trong PHP
- 09/07/2015
- Posted by: Bùi Đạt
- Category: Video học Lập trình web
Trong bài này mình sẽ giới thiệu với các bạn cách lưu trữ dữ liệu trong file. Do đó các bạn sẽ được hiểu về: open, reading, writing, closing file.
1. Đóng và mở file
Trong PHP hàm fopen() được sử dụng để mở file. Điều này đòi hỏi hai đối số được bắt đầu trong tên file và sau đó là chế độ mà fiel hoạt động.
Chế độ | Mục đích |
r | Mở file chỉ để đọc |
r+ | Mở file để đọc và viết |
w | Mở file chỉ để viết |
w+ | Mở file để đọc và viết |
a | Mở file chỉ để viết |
a+ | mở file chỉ để đọc và viết |
Nếu bạn cố gắng mơt 1 tập tin lỗi và file trả về giá trị một tập tin lỗi, nếu không sẽ trả về một con trỏ tập tin được sử dụng để tiếp tục đọc sách hoặc văn bản cho tập tin đó.
Sau khi thực hiện một thay đổi đối với tập tin dã mở, điều quan trọng là để đóng nó bằng các hàm fclose(). Các hàm fclose() đòi hỏi một tập tin con trỏ như là đối số và sau đó trả về giá trị true khi đóng thành công hoặc false khi lỗi.
Xem thêm: Khóa đào tạo học PHP từ Cơ Bản đến Nâng Cao
2. Đọc file
Khi một tập tin được mở ra sử dụng hàm fopen(), nó có thể đọc với một hàm được gọi là fread(). Hàm này đòi hỏi yêu cầu 2 đối số. Nó có thể là file con trỏ và độ dài file thể hiện trong bytes.
Độ dài của file có thể được tìm sử dụng trong hàm filesize(), nó đưa tên file như là một đối số và trả về kích thước mà file thể hiện qua bytes.
Đây là các bước yêu cầu để đọc file:
– 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().
Ví dụ:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | <html> <head> <title>Reading a file using PHP</title> </head> <body> <?php $filename = "/home/user/guest/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> |
3. Ghi file
Một file có thể được ghi hoặc văn bản được kết nối với một file tồn tại đã được sử dụng trong hàm fwrite() của PHP. Hàm yêu cầu đối số là file poiter và mảng trong sữ liệu được ghi đè.
Tùy vào một đối số thứ ba có thể được ghi đè để xác định được độ dài file để ghi. Nếu đối số thứ 3 đã được chèn, hãy ngừng ghi sau khi đến thời gian.
Sau đây là ví dụ tạo ra một ttaapj tin mới sau đó viết 1 đoạn văn bản ngắn hướng vào tập tin đó. Sau khi đóng tập tin này tồn tại được xác định bằng hàm file_exit(), nó sẽ lấy tên file như một đối số.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | <?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 if( file_exist( $filename ) ) { $filesize = filesize( $filename ); $msg = "File created with name $filename "; $msg .= "containing $filesize bytes"; echo ($msg ); } else { echo ("File $filename does not exit" ); } ?> </body> </html> |
Các bạn sẽ được tổng hợp lại tất cả các hàm sử dụng trong file input và ouput trong bài Các hàm hệ thống trong FILE.
Trung tâm hoc thiết kế web & lập trình android và hoc photoshop nâng cao VietPro.
Trả lời Hủy
Website này sử dụng Akismet để hạn chế spam. Tìm hiểu bình luận của bạn được duyệt như thế nào.