PHP đọc từng dòng tệp văn bản

Tôi có một tệp văn bản hoặc tệp csv, làm cách nào để đọc từng dòng tệp bằng PHP?

Sử dụng hàm fgets[] để đọc từng dòng

Ví dụ dưới đây là mã PHP đọc từng dòng của tệp văn bản

Nếu bạn có một văn bản. txt với nội dung như bên dưới

Đầu ra sau khi chạy tập lệnh PHP sẽ là

1. Dòng 1 2. Dòng 2 3. dòng 3

Trong bài viết sau, chúng ta sẽ đi theo một lộ trình khác với kỹ thuật đọc tệp văn bản bằng PHP trước đây. Thay vào đó, chúng ta sẽ đọc từng dòng một tệp văn bản bằng PHP, in ra từng dòng khi chúng ta lặp qua nội dung

Để đọc từng dòng tệp văn bản demo, chúng tôi sẽ sử dụng lớp SplFileObject, lớp này đẹp hơn và rõ ràng hơn để sử dụng. Lớp này hồi sinh hoàn toàn việc đọc tệp trong PHP theo kiểu hướng đối tượng. Nó có thể được sử dụng để đọc tệp cũng như các chức năng phổ biến khác như ghi vào tệp

Đối với mục đích của hướng dẫn, đây là dữ liệu được lưu trữ trong tệp văn bản sẽ được đọc từng dòng bằng mã

65
55
23
45
11
22
35
22
44
568
594
33
444
423
983
876
563
634

Hãy đưa lớp SplFileObject vào hoạt động

PHP

$myFile = new SplFileObject["data.txt"];

while [!$myFile->eof[]] {
    echo $myFile->fgets[] . PHP_EOL;
}
  • Đầu tiên, chúng ta gọi đến lớp của đối tượng, truyền vào đường dẫn tệp văn bản, trong trường hợp này là dữ liệu. txt
  • Thứ hai, chúng tôi sử dụng phương thức đối tượng của eof[] để tạo vòng lặp boolean, vòng lặp này sẽ lặp qua dữ liệu cho đến khi đạt đến cuối tệp
  • Thứ ba, chúng tôi sử dụng một phương thức khác từ đối tượng là fgets[] để đọc từng dòng từ tệp khi vòng lặp diễn ra

đầu ra

65
55
23
45
11
22
35
22
44
568
594
33
444
423
983
876
563
634

Và đó là nó. Nếu bạn muốn biết thêm về lớp SplFileObject thì bạn có thể xem tài liệu tại đây

Chúng ta có thể sử dụng hàm fgets[] với vòng lặp

";
 $a++;
}
fclose[$txt_file];
?>
1 để đọc các tệp văn bản theo từng dòng trong PHP. Hàm trả về một dòng nếu có một dòng và nó trả về false nếu không còn dòng nào để đọc. Phải mất hai tham số. Cú pháp như sau

Ở đây,

";
 $a++;
}
fclose[$txt_file];
?>
2 giống như một con trỏ tệp trỏ đến một tệp được mở thành công. Tùy chọn
";
 $a++;
}
fclose[$txt_file];
?>
3, tùy chọn, biểu thị số byte sẽ được đọc

Ta có thể dùng hàm

";
 $a++;
}
fclose[$txt_file];
?>
4 để đọc file sau đó dùng vòng lặp
";
 $a++;
}
fclose[$txt_file];
?>
1 để lặp qua từng dòng với hàm fgets[]. Chúng tôi có một tệp văn bản
";
 $a++;
}
fclose[$txt_file];
?>
7 chứa các nội dung sau

Hi
How are you
Have a great day 

Ví dụ: tạo một biến

";
 $a++;
}
fclose[$txt_file];
?>
8 và viết hàm
";
 $a++;
}
fclose[$txt_file];
?>
9 trong đó. Mở tệp
";
 $a++;
}
fclose[$txt_file];
?>
7 ở chế độ
1 Hi 
2 How are you 
3 Have a great day
1. Tạo một biến đếm dòng
1 Hi 
2 How are you 
3 Have a great day
2 và gán giá trị
1 Hi 
2 How are you 
3 Have a great day
3 cho nó. Sau đó, tạo một vòng lặp
";
 $a++;
}
fclose[$txt_file];
?>
1. Bên trong dấu ngoặc đơn của vòng lặp, hãy viết hàm fgets[] với tham số là
1 Hi 
2 How are you 
3 Have a great day
6. Gán chức năng cho một biến
1 Hi 
2 How are you 
3 Have a great day
7 trong vòng lặp. In biến
1 Hi 
2 How are you 
3 Have a great day
7, nối nó với biến
1 Hi 
2 How are you 
3 Have a great day
2 bên trong thân vòng lặp. Tăng biến
1 Hi 
2 How are you 
3 Have a great day
2 và bên ngoài vòng lặp, sử dụng hàm
file[$filename, $flag, $context]
1 để đóng luồng tệp

Mã ví dụ

";
 $a++;
}
fclose[$txt_file];
?>

đầu ra

1 Hi 
2 How are you 
3 Have a great day

Sử dụng hàm
file[$filename, $flag, $context]
2 để đọc tệp văn bản theo từng dòng trong PHP

Hàm

file[$filename, $flag, $context]
2 đọc toàn bộ tệp thành một mảng. Cú pháp của hàm
file[$filename, $flag, $context]
2 như sau

file[$filename, $flag, $context]

Ở đây,

file[$filename, $flag, $context]
5 là đường dẫn tệp sẽ được đọc. Tùy chọn
file[$filename, $flag, $context]
6 là tùy chọn và nó bao gồm nhiều hằng số khác nhau, chẳng hạn như
file[$filename, $flag, $context]
7,
file[$filename, $flag, $context]
8 và
file[$filename, $flag, $context]
9. Cái thứ ba cũng là tùy chọn, xác định tài nguyên ngữ cảnh

Hàm

file[$filename, $flag, $context]
2 trả về cả mảng nếu tồn tại hoặc trả về false. Chúng ta có thể sử dụng hàm để đọc từng dòng ngữ cảnh của tệp với helo của hàm
$txt_file = 'abc.txt';

$lines = file[$txt_file];
foreach [$lines as $num=>$line]
{
 echo 'Line '.$num.': '.$line.'
'; }
1. Hàm
$txt_file = 'abc.txt';

$lines = file[$txt_file];
foreach [$lines as $num=>$line]
{
 echo 'Line '.$num.': '.$line.'
'; }
1 sẽ lặp qua toàn bộ nội dung và trích xuất từng dòng riêng lẻ

Ví dụ: lưu trữ đường dẫn tệp trong một biến

";
 $a++;
}
fclose[$txt_file];
?>
8. Viết một biến
$txt_file = 'abc.txt';

$lines = file[$txt_file];
foreach [$lines as $num=>$line]
{
 echo 'Line '.$num.': '.$line.'
'; }
4 và lưu trữ hàm
file[$filename, $flag, $context]
2 trên đó với tham số là
";
 $a++;
}
fclose[$txt_file];
?>
8. Tiếp theo, sử dụng hàm
$txt_file = 'abc.txt';

$lines = file[$txt_file];
foreach [$lines as $num=>$line]
{
 echo 'Line '.$num.': '.$line.'
'; }
1 để lặp qua nội dung của tệp. Sử dụng
$txt_file = 'abc.txt';

$lines = file[$txt_file];
foreach [$lines as $num=>$line]
{
 echo 'Line '.$num.': '.$line.'
'; }
4 làm trình vòng lặp và
$txt_file = 'abc.txt';

$lines = file[$txt_file];
foreach [$lines as $num=>$line]
{
 echo 'Line '.$num.': '.$line.'
'; }
9 làm giá trị. Bên trong thân vòng lặp, in các biến
Line 0: Hi 
Line 1: How are you 
Line 2: Have a great day
0 và
1 Hi 
2 How are you 
3 Have a great day
7

Mã ví dụ

$txt_file = 'abc.txt';

$lines = file[$txt_file];
foreach [$lines as $num=>$line]
{
 echo 'Line '.$num.': '.$line.'
'; }

đầu ra

Line 0: Hi 
Line 1: How are you 
Line 2: Have a great day

Sử dụng Hàm
Line 0: Hi 
Line 1: How are you 
Line 2: Have a great day
2 và
Line 0: Hi 
Line 1: How are you 
Line 2: Have a great day
3 để đọc tệp theo từng dòng trong PHP

Hàm

Line 0: Hi 
Line 1: How are you 
Line 2: Have a great day
2 đọc toàn bộ tệp thành một chuỗi. Nó trả về toàn bộ tệp dưới dạng một chuỗi nếu nội dung tồn tại hoặc nó trả về false. Chúng ta có thể chỉ định đường dẫn tệp làm tham số cho hàm. Hàm
Line 0: Hi 
Line 1: How are you 
Line 2: Have a great day
3 tách một chuỗi thành một mảng bằng cách sử dụng dấu tách. Cú pháp của hàm
Line 0: Hi 
Line 1: How are you 
Line 2: Have a great day
3 như sau

explode[separator, $string, $limit]

Tùy chọn

Line 0: Hi 
Line 1: How are you 
Line 2: Have a great day
7 được sử dụng để tách
Line 0: Hi 
Line 1: How are you 
Line 2: Have a great day
8 với số lượng phần tử
Line 0: Hi 
Line 1: How are you 
Line 2: Have a great day
9 trong khi trả về giá trị. Chúng ta có thể kết hợp các hàm
Line 0: Hi 
Line 1: How are you 
Line 2: Have a great day
2,
Line 0: Hi 
Line 1: How are you 
Line 2: Have a great day
3 và
$txt_file = 'abc.txt';

$lines = file[$txt_file];
foreach [$lines as $num=>$line]
{
 echo 'Line '.$num.': '.$line.'
'; }
1 để đọc từng dòng của tệp văn bản trong PHP

Ví dụ: tạo một biến

explode[separator, $string, $limit]
3 và viết hàm
Line 0: Hi 
Line 1: How are you 
Line 2: Have a great day
2 trên đó với đường dẫn tệp trong tham số. Sử dụng hàm
Line 0: Hi 
Line 1: How are you 
Line 2: Have a great day
3 với ký tự
explode[separator, $string, $limit]
6 làm dấu phân cách và
explode[separator, $string, $limit]
3 làm chuỗi. Gán chức năng cho một biến
$txt_file = 'abc.txt';

$lines = file[$txt_file];
foreach [$lines as $num=>$line]
{
 echo 'Line '.$num.': '.$line.'
'; }
4. Sử dụng vòng lặp _______53_______9 để lặp _______35_______4 thành _______13_______7. Sau đó, in
1 Hi 
2 How are you 
3 Have a great day
7 bên trong thân vòng lặp

Trong ví dụ bên dưới, biến

explode[separator, $string, $limit]
3 trả về chuỗi. Chúng tôi chia nó thành một mảng với ký tự dòng mới
explode[separator, $string, $limit]
6 và in từng dòng bằng vòng lặp

Làm cách nào để đọc từng dòng tệp txt trong PHP?

Chúng ta sẽ sử dụng một số thao tác tệp để đọc từng dòng một tệp lớn và hiển thị nó. .
đọc một tập tin. Chúng tôi sẽ đọc tệp bằng cách sử dụng chức năng fopen[]. Chức năng này được sử dụng để đọc và mở một tập tin. .
Duyệt qua cuối tập tin. Chúng ta có thể duyệt qua bằng cách sử dụng hàm feof[]

Làm cách nào để chạy từng dòng một trong PHP?

Có, bạn có thể bước từng dòng bằng Xdebug. Chỉ cần sử dụng trình soạn thảo/IDE hỗ trợ Xdebug [PhpStorm/NetBeans/VSCode/etc]. Ví dụ: đối với PhpStorm, hãy kiểm tra các liên kết này. phản lực. com/phpstorm/tài liệu/gỡ lỗi và jetbrains. com/help/phpstorm/…

Làm cách nào để lấy dữ liệu từ tệp txt trong PHP?

PHP đọc tệp - fgetc[] . Để lấy tất cả dữ liệu bằng hàm fgetc[], hãy sử dụng. hàm feof[] bên trong vòng lặp while

Làm cách nào để đọc dòng cuối cùng của tệp văn bản trong PHP?

$line; . Output will be the last line of the text file will be read and displayed.

Chủ Đề