Bestandsafhandeling in PHP

F

Bestandsverwerking is een belangrijk onderdeel van elke toepassing, of het nu een desktoptoepassing of een webtoepassing is. Omdat we webontwikkeling leren met behulp van PHP, leren we in deze tutorial hoe we omgaan met bestanden in PHP.

Hoe een bestand in PHP te lezen?

PHP biedt fopen() methode om de inhoud van bestanden te openen en te lezen.

De functie Fopen() is een alternatief voor de functie php readfile() en zit boordevol meer functies.

Het voorbeeldbestand dat we voor deze tutorial over PHP-bestanden zullen gebruiken, heet my_dictionary.txt. De inhoud ervan wordt hieronder gegeven. Het bestand bevat enkele technische acroniemen gevolgd door hun volledige vorm.

ACID = Atomicity, Consistency, Isolation, Durability
ACL = Access Control List
ADC = Analog-to-Digital Converter
ADF = Automatic Document Feeder
ADSL = Asymmetric Digital Subscriber Line
AFP = Apple Filing Protocol
AGP = Accelerated Graphics Port
AIFF = Audio Interchange File Format
AIX = Advanced Interactive Executive
ALU = Arithmetic Logic Unit

fopen-functie accepteert twee parameters. De eerste parameter is de naam van het bestand dat moet worden geopend en de tweede parameter is de modus waarin het bestand moet worden geopend, zoals de lees- of schrijfmodus. Als deze functie het bestand met succes opent, retourneert het de handle. In geval van een storing kunt u een bericht afdrukken zoals in het volgende voorbeeld.

<?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
echo fread($myfile,filesize("webdictionary.txt"));
fclose($myfile);
?>

Opmerking – bestanden kunnen een bron van geheugenlekkage zijn.

Houd uzelf zeer gefocust tijdens het werken met bestanden. Bestanden zijn een cruciaal onderdeel van de ontwikkeling. Als je niet genoeg ervaring hebt met het werken met bestanden, kan het zijn dat je bestanden gaat bewerken, verwijderen of vullen met rommel.

ModesOmschrijving
rOpen een bestand voor alleen-lezen. De bestandsaanwijzer begint aan het begin van het bestand
wEen bestand openen om alleen te schrijven. Wist de inhoud van het bestand of maakt een nieuw bestand als het nog niet bestaat. De bestandsaanwijzer begint aan het begin van het bestand
aEen bestand openen om alleen te schrijven. De bestaande gegevens in het bestand blijven behouden. De bestandsaanwijzer begint aan het einde van het bestand. Maakt een nieuw bestand aan als het bestand niet bestaat
xMaakt een nieuw bestand voor alleen-schrijven. Retourneert FALSE en een fout als het bestand al bestaat
r+Open een bestand om te lezen/schrijven. De bestandsaanwijzer begint aan het begin van het bestand
w+Open een bestand om te lezen/schrijven. Wist de inhoud van het bestand of maakt een nieuw bestand als het nog niet bestaat. De bestandsaanwijzer begint aan het begin van het bestand
a+Open een bestand om te lezen/schrijven. De bestaande gegevens in het bestand blijven behouden. De bestandsaanwijzer begint aan het einde van het bestand. Maakt een nieuw bestand aan als het bestand niet bestaat
x+Creëert een nieuw bestand om te lezen/schrijven. Retourneert FALSE en een fout als het bestand al bestaat
Manieren om het bestand te openen

Hoe de grootte van het bestand in PHP te krijgen?

bestandsgrootte(bestandsnaam) is de functie die de grootte van het bestand retourneert. Het accepteert het pad naar het bestand samen met de naam en extensie.

Hoe lees je een bestand in PHP?

fread() functie leest de inhoud van een geopend bestand. Deze functie accepteert twee parameters, de eerste parameter is de naam van het te lezen bestand en de tweede parameter is het aantal bytes dat uit het bestand moet worden gelezen.

Voorbeeld

fread($myfile,filesize("webdictionary.txt"));

Hoe het geopende bestand in PHP te sluiten?

fclose() functie wordt gebruikt om een ​​geopend bestand te sluiten. Veel ontwikkelaars vergeten geopende bestanden te sluiten, wat resulteert in geheugenlekkage en andere fouten. Deze functie heeft één parameter nodig, namelijk de naam van het te sluiten bestand.

Voorbeeld

<?php
$myfile = fopen("webdictionary.txt", "r");
// some code to be executed....
fclose($myfile);
?>

Hoe lees ik een enkele regel uit een bestand in PHP?

De functie fread wordt beschreven in de bovenstaande sectie die het bestand leest vanaf de locatie 0 tot de opgegeven grootte. De functie fgets() leest echter een enkele regel uit het bestand.

Voorbeeld

<?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
echo fgets($myfile);
fclose($myfile);
?>

Hoe het einde van het bestand in PHP te controleren?

feof() geeft het einde van het bestand terug. Deze functie is handig omdat het kan helpen om de bestandsinhoud te herhalen vanaf de 0-indexen van het bestand, tot het einde dat in feite het einde van het bestand is.

<?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
// Output one line until end-of-file
while(!feof($myfile)) {
  echo fgets($myfile) . "<br>";
}
fclose($myfile);
?>

Hoe het enkele bestandsteken uit het bestand te lezen?

De functie fgetc() wordt gebruikt om een ​​enkel teken uit een geopend bestand te lezen. Kijk naar het voorbeeld hieronder.

<?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
// Output one character until end-of-file
while(!feof($myfile)) {
  echo fgetc($myfile);
}
fclose($myfile);
?>

Onthouden dat, door de functie fgetc aan te roepen, de bestandsaanwijzer naar het volgende teken wordt verplaatst. Evenzo, door de functie fgets aan te roepen, gaat de bestandsaanwijzer naar de volgende regel.

Hoe maak je een bestand in PHP?

fopen-functie wordt gebruikt om een ​​nieuw bestand in PHP te maken. Wees niet verward over dezelfde functie voor het openen en maken van bestanden. Als het te openen bestand niet bestaat, maakt de fopen-functie het bestand aan en opent het vervolgens in lees- of schrijfmodus.

$myfile = fopen("testfile.txt", "w")

Hoe te schrijven in Bestand in PHP?

fwrite functie stelt u in staat iets in de bestanden te schrijven. Het eerste argument van de functie is de naam van het bestand dat moet worden geschreven en de tweede parameter is mijn tekenreeks om in het bestand te schrijven.

<?php
$myfile = fopen("newfile.txt", "w") or die("Unable to open file!");
$txt = "John Doe\n";
fwrite($myfile, $txt);
$txt = "Jane Doe\n";
fwrite($myfile, $txt);
fclose($myfile);
?>

Volledige referentie van bestandsverwerking in PHP 8 hier.

Voeg commentaar toe

Tutor netwerk

Leer PHP van A tot Z