Differences

This shows you the differences between two versions of the page.

Link to this comparison view

amprog_07 [2017-09-01 14:54]
amprog_07 [2022-07-18 13:20] (current)
Line 1: Line 1:
 +====== Anders Genomgång 07 - Att läsa från och skriva till textfiler ======
 +
 +<php>
 +/*
 +Tutorial:\\
 +[[http://www.youtube.com/watch?v=19mlI-F2xrY|Läsa från och skriva till textfiler]]\\
 +[[http://www.youtube.com/watch?v=Rq7G5FtrsC0|Explode och implode]]\\
 +*/
 +</php>
 +
 +<code php>
 +<?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');
 +</code>