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
Trang 1File & 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
Trang 2Di 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àmfread() 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()
Trang 3 Đọc nội dung file sử dụng hàm fread()
Đóng file sử dụng hàm fclose()
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> 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>
Trang 4Nó sẽ cho kết quả:
Ghi một 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 = "/home/user/guest/newfile.txt" ;
$file = fopen( $filename, "w" );
{
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>
Trang 5
<?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ẽ cho kết quả:
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