처리의 편의를 위해 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))
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 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.