배열로 읽어온 PHP 파일

WBOY
풀어 주다: 2016-08-08 09:23:53
원래의
1337명이 탐색했습니다.

처리의 편의를 위해 fgets()를 사용하여 파일 내용을 배열로 읽어올 수 있는 함수를 정의했습니다. 파일의 i번째 줄은 배열의 i번째 요소에 해당합니다( 인덱스는 i-1)입니다. 다음은 소스 코드입니다.

function file2array($filename){    
    // read a file into an array
    // each element of the array is a line of file
    // also use explode("\r\n", file_get_contents($filename))
    $f = fopen($filename,"r") or die("Unable to open the file '" . $filename . "'!");
    $array=array();
    while(!feof($f)) {
  array_push($array, str_replace("\r\n","",fgets($f)));
}
fclose($f);
return $array;
}
로그인 후 복사


str_replace("\r\n","",fgets($f))
로그인 후 복사
을 사용하는 이유는 fgets도 개행 문자를 읽어오기 때문입니다. count()를 사용하여 길이를 확인할 수 있습니다. 읽은 각 줄은 파일의 해당 줄보다 문자가 두 개 더 많습니다. 동등한 절차는 다음과 같습니다.

explode("\r\n", file_get_contents($filename))
로그인 후 복사

배열을 파일로 복원(쓰기)하려면 다음 코드를 사용하세요.

function array2file($array, $filename, $mode="w"){
    // write an array (1-dim) in a file
    $f = fopen($filename, $mode) or die("Unable to open the file '" . $filename . "'!");
    // $f = savefopen($filename, $mode);
    if (! empty($array)) {
        $first=array_shift($array);
        fwrite($f, $first);
        foreach ($array as $line) {
            fwrite($f, "\r\n" . $line);
        }
    }
    fclose($f);
}
로그인 후 복사

모든 사람이 사용할 수 있도록 간단하고 유용한 파일 조작 기능도 작성했습니다.

function file2str($filename){    
    // read a file into a string
    $f = fopen($filename,"r");
    $str="";
    while(!feof($f)) {
  $str .= fgets($f);
}
fclose($f);
return $str;
}


function fpush($filename, $arr){
    $f=fopen($filename, "a");
    foreach ($arr as $str) {
        fwrite($f, NL . $str);   // NL == "\r\n"
    }
    fclose($f);
}


function fnl($filename){
    // add a new line "\r\n" in the file
    $f=fopen($filename, "a");
    fwrite($f, NL);  
    fclose($f);
}


function fclear($filename){
    // clear a file
    file_put_contents($filename, "");
}


function fempty($filename){
    // is the file empty or not?
    $f = fopen($filename,"r");
    fgetc($f);
    if (feof($f)) {
        return True;}
    else {
        return False;}
    fclose($f);
}
로그인 후 복사

위 내용은 관련 측면을 포함하여 PHP 파일을 배열로 읽는 방법을 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!