PHP-Datei in Array einlesen

WBOY
Freigeben: 2016-08-08 09:23:53
Original
1337 Leute haben es durchsucht

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;
}
Nach dem Login kopieren

Der Grund, warum ich
str_replace("\r\n","",fgets($f))
Nach dem Login kopieren
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))
Nach dem Login kopieren

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);
}
Nach dem Login kopieren

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);
}
Nach dem Login kopieren

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.

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!