Heim > Artikel > Backend-Entwicklung > PHP-Datei in Array einlesen
Zur Vereinfachung der Verarbeitung habe ich mit fgets() eine Funktion definiert, die den Dateiinhalt in ein Array einlesen kann. Die i-te Zeile der Datei entspricht dem i-ten Element des Arrays (. Index ist i-1). Das Folgende ist der Quellcode
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))verwende, ist, dass fgets auch die Newline-Zeichen einliest. Sie können count() verwenden, um die Länge von zu überprüfen Es wurde festgestellt, dass jede gelesene Zeile zwei Zeichen mehr enthält als die entsprechende Zeile in der Datei. Das äquivalente Verfahren ist
explode("\r\n", file_get_contents($filename))
Verwenden Sie den folgenden Code, um ein Array in einer Datei wiederherzustellen (zu schreiben).
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); }
Ich habe auch einige einfache und nützliche Dateioperationsfunktionen geschrieben, die jeder nutzen kann.
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); }
Das Obige stellt vor, wie man PHP-Dateien in Arrays einliest, einschließlich der relevanten Aspekte. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.