Anders Genomgång 07 - Att läsa från och skriva till textfiler

<?php
/* 
 * Genomgång på hur man kan läsa och skriva till och från textfiler.
 * Dessa funktioner öppnar och stänger filerna automatiskt.
 * Funktioner som gås igenom för att läsa från textfiler:
 *  - file 
 *  - file_get_contents 
 * Funktion som gås igenom för att skriva till textfiler:
 *  - file_put_contents
 */
include('head.php');
 
// Skriver till en textfil. Finns inte filen skapas den. FILE_APPEND gör att innehåll läggs till och inte skrivs över. 
file_put_contents('test1.txt',"Detta är en rad\n Nu blev det en ny rad\n",FILE_APPEND);
// Ta bort FILE_APPEND om man vill skriva över filen.
 
 
 
$fil = 'users.aml';  // Om man vill kan man lagra filnamnet i en variabel.
// Läser en textfil till en sträng. 
$str = file_get_contents($fil);
echo nl2br($str);	// Radbrytningar i strängen görs om till <br> med nl2br().
echo '<br>';
 
// Läser in en textfil till en array, radbrytning ger nytt element i arrayen.
// Varje rad i filen har följande format:  am0087:Anders:Mosshäll
$arr = file('users.aml');
 
//print_r($arr);   // Används bara för att testa under utveckling av programmet.
 
 
file_put_contents('namnfil.txt',""); // Töm filen (Spara en tom textsträng till filen)
 
$i=0;
while ($i < count($arr)) {
  $row = explode(':', $arr[$i]); 
  // print_r($row);  // Används bara för att testa under utveckling av programmet.
 
  // Skriver bara ut de som heter Andersson i efternamn.
  if (trim($row[2]) == 'Andersson') {   // trim tar bort radbrytning.
    $temp =  'Användarnamn: ' . $row[0] . ' Förnamn: '. $row[1] . ' Efternamn: ' . trim($row[2]);
    file_put_contents('namnfil.txt',$temp."\n",FILE_APPEND);  // "\n" ger radbrytning i filen. OBS! Använd " ".
  }
  $i++;
}
 
include('foot.php');