fopen()
syntax : fopen($bestandsnaam,$bewerking);
return : een $handeling welke de uitkomst van de fopen() bevat.
fopen() is een functie waarmee een bestand kan worden geopend, pas als dit goed gelukt is kan met een fwrite() of fread() een bestand bewerkt of gelezen worden. De uitkomst is een $handeling welke als argument gebruikt kan worden in de eerder genoemde functies.
Het eerste argument $bestandsnaam moet vanzelfsprekend de juiste bestandsnaam bevatten eventueel incl. het pad naar dit bestand.
Het tweede argument $bewerking kan verschillende waardes hebben, met deze waarde wordt aangegeven wat er met een bepaald bestand dient te gebeuren, zoals lezen en/of schrijven ed. (hieronder uitvoeriger beschreven).
fopen() en $bewerking
Met het aangeven wat men met een bepaald bestand wil gaan doen kunnen de bedoelde bewerkingen mbt. een bestand worden uitgevooerd. Dit tweede argument kan verschillende waardes hebben zoals :
"r" : staat voor read en betekend alleen lezen.
"r+" : open het bestand om zowel te lezen en te schrijven, begin aan het begin van het bestand.
"w" : staat voor write en betekend er iets naartoe schrijven (let op bestaande inhoud wordt overschreven). Als het bestand nog niet bestaat gaat fopen() proberen dit bestand aan te maken.
"w+" : open een bestand voor zowel lezen als schrijven, de eventuele nieuwe inhoud zal de oude inhoud verwijderen, maakt eventueel ook een nieuw bestand aan.
"a" : staat voor ad en betekend er iets aan toevoegen vanaf de huidige inhoud, dus iets toevoegen vanaf het einde van de huidige inhoud. Als het bestand niet bestaat zal fopen() een nieuw bestand proberen aan te maken.
"a+" : open bestand voor zowel lezen als schrijven, toevogoegen aan de huidige inhoud, maakt eventueel een nieuw bestand als het niet al bestaat.
voorbeelden fopen()
Omdat fopen() eigenlijk pas zinvol is als er ook daadwerkelijk iets met een bestand wordt gedaan, gebruiken we in de voorbeelden ook de functie
fwrite() .
voorbeeld 1 : iets naar een bestand schrijven (met fopen() en fwrite())
$bestand = 'bestand.txt';
$inhoud = 'nieuwe inhoud voor bestand.txt';
//eerst het bestand openen met fopen(), het resultaat in $handeling plaatsen
$handeling = fopen($bestand,"w");
//nu kan de nieuwe inhoud naar het bestand geschreven worden met fwrite()
fwrite($handeling,$inhoud);
//na een fopen moet na de bewerking het bestand altijd weer keurig gesloten worden.
fclose($handeling);
?>
voorbeeld 2 : een bestand uitlezen in een string met fread() en weergeven.
$bestand = 'bestand.txt';
$handeling = fopen($bestand,"r");
$inhoud = fread($bestand,filesize($bestand));
fclose($handeling);
echo $inhoud;
?>
Verder is fopen() een functie met weinig mogelijkheden het kan in principe alleen waar het voor bedoeld is, en dat is het openen van een bestand.