이전 기사 "PHP는 지정된 디렉터리에 어떤 파일이 있는지 어떻게 알 수 있습니까?"에서는 PHP를 사용하여 지정된 디렉터리에 있는 파일(하위 디렉터리 제외)의 이름을 가져왔습니다. 이번에는 파일에 데이터 행이 몇 개 있는지 계산하는 방법에 대해 알아보겠습니다. 필요할 경우 참조할 수 있습니다.
"test.txt"라는 텍스트 파일이 있는데 그 내용은 다음과 같습니다.
파일에 10줄의 데이터가 있다는 것을 알 수 있습니다. 따라서 PHP 프로그램을 사용하여 통계를 수행하고 계산하는 방법은 다음과 같습니다. 파일의 데이터 데이터 행은 몇 개입니까?
오늘은 두 가지 방법을 소개하겠습니다. 첫 번째 방법은 첫 번째 방법입니다.
<?php header("Content-Type: text/html;charset=utf-8"); //设置字符编码 $i=0; $handle = fopen('./test.txt', 'r'); //打开文件 if (!$handle) { //判断文件是否打开成功 echo '文件打开失败!'; } while (false !== ($char = fgets($handle,1024))) { //循环读取文件内容 $i++; } echo "文件中共有 ".$i." 行数据"; fclose($handle); //关闭文件 ?>
출력 결과:
분석:
fgets() 함수는 파일을 한 줄씩 한 번 읽을 수 있습니다. 데이터 행을 읽을 수 있습니다.
while 루프와 fgets() 함수를 사용하여 파일의 모든 데이터를 읽은 다음 카운터 $i
를 사용하여 전체 파일을 몇 번이나 읽었는지 계산합니다. fgets() 함수가 작동되었나요? $i
来统计读取整个文件,fgets()函数一共操作了几次即可。
利用while循环和fgets()函数的方法有点复杂,还需要打开和关闭文件。下面我们介绍一种更简单的方法:
<?php header("Content-Type: text/html;charset=utf-8"); //设置字符编码 $file = 'test.txt'; $filearr = file($file,FILE_IGNORE_NEW_LINES); $i = count($filearr); echo "文件中共有 ".$i." 行数据"; ?>
输出结果:
分析:
file()函数可以一次性读取整个文件,且会把整个文件读入一个数组中,一行数据对应一个数组元素【详情可阅读文章:《php怎么逐行将整个文件数据存入数组中》】。
我们使用var_dump()输出上例的$filearr数组,可得到:
可以看出有10个数组元素,这10个数组元素就对应文件有10行数据。
此时使用count($filearr)
while 루프와 fgets() 함수를 사용하는 방법이 조금 복잡하고, 파일을 열고 닫는 것도 필요합니다. 아래에서는 더 간단한 방법을 소개합니다: rrreee출력 결과:
분석: file() 함수는 한 번에 전체 파일을 읽을 수 있으며, 전체 파일을 하나의 배열 요소에 해당하는 한 행의 데이터와 함께 배열로 읽어옵니다. [읽을 수 있는 세부 기사: "PHP는 어떻게 전체 파일 데이터를 배열 라인에 저장합니까? 라인"].
위 예제에서는 var_dump()를 사용하여 $filearr 배열을 출력하고 다음을 얻을 수 있습니다. 🎜🎜🎜🎜10개의 배열 요소가 있고, 이 10개의 배열 요소가 파일의 데이터 10줄에 해당하는 것을 볼 수 있습니다. 🎜🎜이때,count($filearr)
를 이용하여 배열의 길이(배열 요소의 개수)를 세어보면 파일에 몇 줄의 데이터가 있는지 알 수 있습니다. 🎜🎜그렇습니다. 더 알고 싶다면 여기를 클릭하세요. → →🎜PHP 파일의 기본 조작🎜🎜🎜🎜추천:🎜"🎜PHP 면접 질문 모음(모음)🎜" "🎜php 동영상 튜토리얼🎜"🎜위 내용은 PHP는 파일에 몇 줄이 있는지 어떻게 알 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!