Tutorials
Bestanden lezen en schrijven
Hoe open je bestanden en lees je er iets uit, en hoe schrijf je iets in een bestand?
Pagina 1
Bestanden openen en lezen
Om een simpel tekst bestand te openen en te lezen is vrij makkelijk om te doen. Je hebt
hier maar 4 regels voor nodig.
Eerst open je het bestand met fopen
Daarna lees je de data er uit met fgets
Hierna sluit je het bestand weer met fclose
En tot slot weergeef je de gegevens die je met de functie fgets eruit hebt gehaald.
Om met deze oefening mee te kunnen doen moet je een webruimte hebben en het bestand test.txt aanmaken en deze de chmod rechten 777 geeft. CHMOD is nodig omdat het bestand moet weten dat er iets in mag worden geschreven, of er iets uit mag worden gelezen. Wanneer je niet weet hoe je dit moet doen kun je eens kijken op http://www.phphulp.nl/php/tutorials/8/54/
<?
// ik geef het liefst eerst een variabele aan waarin het bestand staat:
$file = "test.txt";
// open het bestand met 'r' (read)
$fopen = fopen($file, "r");
// haal de tekst eruit
$data = fgets($fopen, 4096);
// sluit het bestand weer af
fclose($fopen);
// weergeef wat in $data staat
echo "$data";
?>
Om meer te lezen over de verschillende 'open' rechten kun je http://www.phphulp.nl/php/tutorials/4/78/ lezen.
De 4096 die je ziet staan bij de functie fgets() is voor de buffer van het bestand. Als je bijvoorbeeld een bestand hebt die 500kB is, en je gebruikt de functie fgets(), zal het erg lang duren voordat alles eruit is gelezen. Met 4096 geeft je aan dat hij regels opent van 4096 bytes.
Wanneer je newlines naar html newlines (<br>'s) wilt hebben kun je de functie nl2br gebruiken. Dit zet dus 'enters' in de tekstfile om naar <br>'s.
<?
$data = nl2br($date);
echo "$data";
?>
hier maar 4 regels voor nodig.
Eerst open je het bestand met fopen
Daarna lees je de data er uit met fgets
Hierna sluit je het bestand weer met fclose
En tot slot weergeef je de gegevens die je met de functie fgets eruit hebt gehaald.
Om met deze oefening mee te kunnen doen moet je een webruimte hebben en het bestand test.txt aanmaken en deze de chmod rechten 777 geeft. CHMOD is nodig omdat het bestand moet weten dat er iets in mag worden geschreven, of er iets uit mag worden gelezen. Wanneer je niet weet hoe je dit moet doen kun je eens kijken op http://www.phphulp.nl/php/tutorials/8/54/
<?
// ik geef het liefst eerst een variabele aan waarin het bestand staat:
$file = "test.txt";
// open het bestand met 'r' (read)
$fopen = fopen($file, "r");
// haal de tekst eruit
$data = fgets($fopen, 4096);
// sluit het bestand weer af
fclose($fopen);
// weergeef wat in $data staat
echo "$data";
?>
Om meer te lezen over de verschillende 'open' rechten kun je http://www.phphulp.nl/php/tutorials/4/78/ lezen.
De 4096 die je ziet staan bij de functie fgets() is voor de buffer van het bestand. Als je bijvoorbeeld een bestand hebt die 500kB is, en je gebruikt de functie fgets(), zal het erg lang duren voordat alles eruit is gelezen. Met 4096 geeft je aan dat hij regels opent van 4096 bytes.
Wanneer je newlines naar html newlines (<br>'s) wilt hebben kun je de functie nl2br gebruiken. Dit zet dus 'enters' in de tekstfile om naar <br>'s.
<?
$data = nl2br($date);
echo "$data";
?>
Pagina 2
Schrijven naar bestanden
Natuurlijk open je het bestand weer eerst met fopen.
Om te schrijven naar een bestand gebruik je de functie fwrite.
Daarna sluit je het bestand weer met fclose.
<?
// defineer een variabele waar het bestand zich bevindt
$file = "test.txt";
// schrijf de volgende tekst in het bestand
$invoegen = "Ik wil deze tekst graag invoegen\n";
// open het bestand
$fopen = fopen($file, "a");
// schrijf '$invoegen' in het bestand
fwrite($fopen, $invoegen);
// sluit het bestand
fclose($fopen);
?>
Zoals je ziet is het bijna gelijk aan een bestand lezen. Maar in plaats va de fgets functie, gebruik je nu de fwrite functie.
Om te schrijven naar een bestand gebruik je de functie fwrite.
Daarna sluit je het bestand weer met fclose.
<?
// defineer een variabele waar het bestand zich bevindt
$file = "test.txt";
// schrijf de volgende tekst in het bestand
$invoegen = "Ik wil deze tekst graag invoegen\n";
// open het bestand
$fopen = fopen($file, "a");
// schrijf '$invoegen' in het bestand
fwrite($fopen, $invoegen);
// sluit het bestand
fclose($fopen);
?>
Zoals je ziet is het bijna gelijk aan een bestand lezen. Maar in plaats va de fgets functie, gebruik je nu de fwrite functie.
Reacties
0