>백엔드 개발 >PHP 튜토리얼 >PHP 파일 작업에서 파일의 모든 데이터를 한 번에 가져오는 방법

PHP 파일 작업에서 파일의 모든 데이터를 한 번에 가져오는 방법

青灯夜游
青灯夜游원래의
2021-08-05 15:41:505237검색

이전 기사 "php 파일 작업 - 파일을 한 줄씩 읽기"에서 파일을 한 줄씩 읽는 방법을 소개한 다음 루프를 사용하여 파일의 모든 데이터를 얻을 수 있습니다. 그렇다면 루프를 사용하지 않는 경우 파일의 모든 데이터를 가져오는 방법은 무엇입니까? 이 기사에서는 루프를 사용하지 않고 파일의 모든 데이터를 한 번에 얻는 방법을 소개합니다.

PHP에서는 파일의 모든 데이터를 한 번에 읽는 방법이 많이 있습니다. 오늘은 fread()와 readfile() 두 가지 함수에 대해 주로 알아 보겠습니다.

"test.txt"라는 텍스트 파일이 있고 그 내용은 다음과 같습니다.

PHP 파일 작업에서 파일의 모든 데이터를 한 번에 가져오는 방법

먼저 fread() 함수를 이해하고 다음 예를 살펴보겠습니다.

<?php
header("Content-Type: text/html;charset=utf-8");    //设置字符编码
$file = "test.txt";
$handle = fopen($file, &#39;r&#39;);                 //打开文件
$contents = fread($handle, filesize($file));    //读取文件内容
echo $contents;
fclose($handle);//关闭文件
?>

출력 결과 :

PHP 파일 작업에서 파일의 모든 데이터를 한 번에 가져오는 방법

"test.txt" 파일의 내용이 모두 출력되는 것을 확인할 수 있습니다.

사실 fread($handle,$length)의 함수는 열린 파일 $handle을 읽고 문자 길이를 $length 문자. 하지만 $length 매개변수의 값을 "<code>filesize($file)"로 지정하면 전체 파일의 모든 데이터를 읽을 수 있습니다. filesize() 함수의 역할은 파일 크기를 얻는 것이고, fread() 함수의 역할은 전체 파일을 읽는 것입니다. fread($handle,$length)函数的作用是读取打开文件$handle中,指定$length字符长度的字符。但当$length参数的值被指定为 “filesize($file)”,那么就可以读取整个文件的全部数据了。filesize()函数的作用是获取文件大小,在 fread()函数中的作用就是读取整个文件。

使用fread()读取整个文件,还要先打开文件,计算整个文件的大小,读取完还要关闭文件,有复杂,有没有更简便的?答案是有,可以使用readfile()函数

我们看看下面的示例:

<?php
header("Content-Type: text/html;charset=utf-8");    //设置字符编码
$file = "test.txt";
readfile($file);    //读取文件内容
?>

输出结果:

PHP 파일 작업에서 파일의 모든 데이터를 한 번에 가져오는 방법

是不是很简单,直接使用一行代码“readfile($file);”就可以一次性获得文件的全部数据了;不需要打开或关闭文件,也不需要使用echo等输出语句就可输出文件内容。

下面我们来了解一下readfile()函数

readfile($filename,$include_path,$context)函数会读取一个文件并将其写入到输出缓冲,同时返回从文件中读入的字节数。

该函数接受1个必需参数$filename(指定要读取的文件名或文件路径),2个可省略的参数$include_path$context

  • $include_path参数:设定是否想要在 include_path (在 php.ini 中)中搜索该文件,默认为 FALSE;如果想,则设置参数值为 '1'。

  • $context参数:设置文件句柄的环境

如果读取失败,readfile()函数会返回FALSE并附带错误信息;我们可以通过在函数名前面添加一个 '@' 来隐藏错误输出。

@

fread()를 사용하여 전체 파일을 읽으려면 먼저 파일을 열고 전체 파일의 크기를 계산한 다음 읽은 후 파일을 닫아야 합니다. 더 간단한 방법이 있나요? 대답은 '예'입니다.
readfile() 함수

를 사용할 수 있습니다. 다음 예를 살펴보겠습니다.

rrreee

출력 결과: PHP 파일 작업에서 파일의 모든 데이터를 한 번에 가져오는 방법아주 간단하지 않나요? "readfile($file);" 코드 한 줄만 사용하면 파일을 한 번에 열거나 닫아야 하며 echo와 같은 출력 문을 사용하지 않고도 파일 내용을 출력할 수 있습니다.

readfile() 함수🎜를 살펴보겠습니다. 🎜🎜readfile($filename,$include_path,$context)이 함수는 파일을 읽고 출력 버퍼에 쓴 다음 파일에서 읽은 바이트 수를 반환합니다. 🎜🎜이 함수는 1개의 필수 매개변수 $filename(읽을 파일 이름 또는 파일 경로 지정)과 2개의 생략된 매개변수 $include_path $context. 🎜<ul style="list-style-type: disc;"> <li>🎜<code>$include_path 매개변수: include_path(php.ini에서)에서 파일을 검색할지 여부를 설정합니다. 기본값 FALSE로 설정하려면 매개변수 값을 '1'로 설정하세요. 🎜
  • 🎜$context 매개변수: 파일 핸들의 환경을 설정합니다🎜
  • 🎜읽기에 실패하면 readfile() 함수는 FALSE를 반환합니다. 오류 정보가 있는 경우 함수 이름 앞에 '@'를 추가하여 오류 출력을 숨길 수 있습니다. 🎜
    🎜@는 오류 제어 연산자입니다. PHP 표현식 앞에 배치하면 표현식에 의해 생성될 수 있는 모든 오류 메시지가 무시됩니다. 🎜🎜🎜그렇습니다. 더 알고 싶다면 여기를 클릭하세요. → →🎜PHP 파일의 기본 조작🎜🎜🎜🎜추천:🎜"🎜PHP 면접 질문 모음(모음)🎜" "🎜php 동영상 튜토리얼🎜"🎜

    위 내용은 PHP 파일 작업에서 파일의 모든 데이터를 한 번에 가져오는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

    성명:
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.