Tutorials
Data opslaan in een text file
Gegevens opslaan in een text file en gegevens terug halen uit een text file. Edit: 26-04-2006 Tut was outdated, slechte voorbeelden etc.
Pagina 1
Waarom?
Je kan gegevens opslaan in een MySQL tabel of een andere database gebruiken, maar er zijn ook andere mogelijkheden om gegevens op te slaan.
Wat nou bijvoorbeeld als je een errorlog van een MySQL tabel wil bijhouden, dan is MySQL geen optie, maar zou je dit kunnen gebruiken.
De gegevens die we gaan opslaan, worden in een *.txt bestand opgeslagen. Deze moet wel CHMOD 777 hebben, als je niet weet wat CHMOD is en hoe je het in steld, lees dan eerst dit door:
http://www.phphulp.nl/php/tutorials/?cat=8&id=54
Op pagina 2 leg ik uit hoe je gegevens in een text file kan plaatsen.
Op pagina 3 leg ik uit hoe je gegevens uit een text file weer terug kan halen.
Wat nou bijvoorbeeld als je een errorlog van een MySQL tabel wil bijhouden, dan is MySQL geen optie, maar zou je dit kunnen gebruiken.
De gegevens die we gaan opslaan, worden in een *.txt bestand opgeslagen. Deze moet wel CHMOD 777 hebben, als je niet weet wat CHMOD is en hoe je het in steld, lees dan eerst dit door:
http://www.phphulp.nl/php/tutorials/?cat=8&id=54
Op pagina 2 leg ik uit hoe je gegevens in een text file kan plaatsen.
Op pagina 3 leg ik uit hoe je gegevens uit een text file weer terug kan halen.
Pagina 2
Gegevens opslaan
Je maakt eerst een bestand aan bv. test.txt
deze geef je CHMOD 777
Sinds PHP5 Heb je defunctie file_put_contents();
voor de mensen met PHP4 gaan we deze eerst even maken:
<?php
function file_put_contents($p_sFilename, $p_sContent){
$file = @fopen($p_sFilename, 'a');
if(fwrite($file, $p_sContent) && fclose($file)){
return true;
}
return false;
}
?>
Je kan nu op de volgende manier tekst opslaan:
<?php
$text = "Dit is de text die in de textfile zal komen";
$bestand = 'test.txt';
file_put_contents($bestand, $text);
?>
Toevoeging:
Gebruik: \r\n om naar een nieuwe regel te gaan in het tekst bestand:
<?php
$text = "\r\nDit zal op een nieuwe regel aan het tekst bestand worden toegevoegd.";
$bestand = 'test.txt';
file_put_contents($bestand, $text);
?>
deze geef je CHMOD 777
Sinds PHP5 Heb je defunctie file_put_contents();
voor de mensen met PHP4 gaan we deze eerst even maken:
<?php
function file_put_contents($p_sFilename, $p_sContent){
$file = @fopen($p_sFilename, 'a');
if(fwrite($file, $p_sContent) && fclose($file)){
return true;
}
return false;
}
?>
Je kan nu op de volgende manier tekst opslaan:
<?php
$text = "Dit is de text die in de textfile zal komen";
$bestand = 'test.txt';
file_put_contents($bestand, $text);
?>
Toevoeging:
Gebruik: \r\n om naar een nieuwe regel te gaan in het tekst bestand:
<?php
$text = "\r\nDit zal op een nieuwe regel aan het tekst bestand worden toegevoegd.";
$bestand = 'test.txt';
file_put_contents($bestand, $text);
?>
Pagina 3
Gegevens terug halen
file_get_contents()
Met file_get_contents() kan je de hele text file als een string terug halen.
En integenstelling tot file_put_contents(); werkt deze ookal onder PHP4
voorbeeld:
<?php
echo nl2br(file_get_contents('test.txt'));
?>
file()
Met file() krijg je een array terug waarbij iedere waarde een nieuwe regel is.
voorbeeld:
<?php
foreach(file('test.txt')) as $regelnr => $regel){
echo $regel."<br />";
}
?>
Met file_get_contents() kan je de hele text file als een string terug halen.
En integenstelling tot file_put_contents(); werkt deze ookal onder PHP4
voorbeeld:
<?php
echo nl2br(file_get_contents('test.txt'));
?>
file()
Met file() krijg je een array terug waarbij iedere waarde een nieuwe regel is.
voorbeeld:
<?php
foreach(file('test.txt')) as $regelnr => $regel){
echo $regel."<br />";
}
?>
Reacties
0