Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah php mengetahui berapa banyak baris yang terdapat dalam fail?

Bagaimanakah php mengetahui berapa banyak baris yang terdapat dalam fail?

青灯夜游
青灯夜游asal
2021-08-11 19:54:243420semak imbas

Dalam artikel sebelumnya "Bagaimanakah PHP mengetahui fail yang berada dalam direktori yang ditentukan", kami menggunakan PHP untuk mendapatkan nama fail (tidak termasuk subdirektori) dalam direktori yang ditentukan. Kali ini kita akan bercakap tentang cara mengira berapa banyak baris data yang terdapat dalam fail Anda boleh merujuknya jika anda memerlukannya.

Kami mempunyai fail teks bernama "test.txt", kandungannya ialah:

Bagaimanakah php mengetahui berapa banyak baris yang terdapat dalam fail?

Kita dapat melihat bahawa fail tersebut mempunyai 10 baris data , jadi bagaimana untuk menggunakan program PHP untuk melaksanakan statistik dan mengira berapa banyak baris data dalam fail?

Hari ini kami akan memperkenalkan dua kaedah kepada anda Yang pertama ialah kaedah pertama:

<?php
header("Content-Type: text/html;charset=utf-8");    //设置字符编码
$i=0;
$handle = fopen(&#39;./test.txt&#39;, &#39;r&#39;);                 //打开文件
if (!$handle) {                                     //判断文件是否打开成功
    echo &#39;文件打开失败!&#39;;
}
while (false !== ($char = fgets($handle,1024))) {        //循环读取文件内容
    $i++;
}
echo "文件中共有 ".$i." 行数据";
fclose($handle);                                    //关闭文件
?>

Hasil keluaran:

Bagaimanakah php mengetahui berapa banyak baris yang terdapat dalam fail?

<.>Analisis:

  • Fungsi fgets() boleh membaca fail baris demi baris dan boleh membaca satu baris data pada satu masa.

  • Kami menggunakan gelung sementara dan fungsi fgets() untuk membaca semua data fail, dan kemudian menggunakan pembilang

    untuk mengira bacaan keseluruhan fail Fungsi fgets() mempunyai jumlah operasi Hanya beberapa kali. $i

Kaedah menggunakan fungsi while loop dan fgets() agak rumit, dan anda juga perlu membuka dan menutup fail. Di bawah ini kami memperkenalkan kaedah yang lebih mudah:

<?php
header("Content-Type: text/html;charset=utf-8");    //设置字符编码
$file = &#39;test.txt&#39;;
$filearr = file($file,FILE_IGNORE_NEW_LINES);
$i = count($filearr);
echo "文件中共有 ".$i." 行数据";
?>
Hasil output:

Bagaimanakah php mengetahui berapa banyak baris yang terdapat dalam fail?

Analisis:

fungsi fail() boleh Membaca keseluruhan fail sekali gus dan baca keseluruhan fail ke dalam tatasusunan Satu baris data sepadan dengan satu elemen tatasusunan [Untuk butiran, sila baca artikel: "

Cara menyimpan keseluruhan data fail baris demi baris dalam PHP ke dalam tatasusunan"] .

Kami menggunakan var_dump() untuk mengeluarkan tatasusunan $filearr dalam contoh di atas, dan kami boleh mendapatkan:

Bagaimanakah php mengetahui berapa banyak baris yang terdapat dalam fail?

Ia boleh dilihat bahawa terdapat 10 elemen tatasusunan, 10 tatasusunan ini Elemen sepadan dengan fail dengan 10 baris data.

Pada masa ini, gunakan

untuk mengira panjang tatasusunan (bilangan elemen tatasusunan), dan anda boleh mendapatkan bilangan baris data yang ada pada fail. count($filearr)

Itu sahaja jika anda ingin mengetahui perkara lain, anda boleh klik ini. → →

Pengendalian asas fail PHP

Disyorkan: Koleksi soalan temuduga PHP (koleksi)》《tutorial video php

Atas ialah kandungan terperinci Bagaimanakah php mengetahui berapa banyak baris yang terdapat dalam fail?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn