PHP Fil Åbn/Læs/Luk

I denne sektion forklarer vi, hvordan du åbner, læser og lukker filer på serveren.

PHP Åbn Fil - fopen()

En bedre måde at åbne en fil på er gennem fopen() funktionen. Denne funktion giver dig flere muligheder end readfile() funktionen.

I kurset vil vi bruge tekstfilen "webdictionary.txt":

AJAX = Asynkron JavaScript og XML
CSS = Kaskaderede Stilsider
HTML = Hyper Text Markup Language
PHP = PHP Hypertext Preprocessor
SQL = Struktureret Spørgsmålssprog
SVG = Skalerbare Vektor Grafer
XML = Udbredt Markup Language

fopen() første parameter indeholder navnet på den fil, der skal åbnes, og den anden parameter bestemmer åbningsmønstret for filen. Hvis fopen() funktionen ikke kan åbne den specificerede fil, vil nedenstående eksempel generere en besked:

Eksempel

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

Kør eksempel

Bemærk:Vi vil nu lære fread() og fclose() funktionerne.

Filen åbnes i et af følgende mønstre:

Mønster Beskrivelse
r Åbn filen til læs. Filpegeret starter ved filens begyndelse.
w Åbn filen til skriv. Fjern filindholdet eller opret en ny fil, hvis den ikke eksisterer. Filpegeret starter ved filens begyndelse.
a Åbn filen til skriv. De eksisterende data i filen bevares. Filpegeret starter ved filens ende. Opret en ny fil, hvis den ikke eksisterer.
x Opret en ny fil til skriv. Returnerer FALSE og en fejlmeddelelse, hvis filen allerede eksisterer.
r+ Åbn filen til læs/skriv, filpegeret starter ved filens begyndelse.
w+ Åbn filen til læs/skriv. Fjern filindholdet eller opret en ny fil, hvis den ikke eksisterer. Filpegeret starter ved filens begyndelse.
a+ Åbn filen til læs/skriv. De eksisterende data i filen bevares. Filpegeret starter ved filens ende. Opret en ny fil, hvis den ikke eksisterer.
x+ Opret en ny fil til læs/skriv. Returnerer FALSE og en fejlmeddelelse, hvis filen allerede eksisterer.

PHP læser fil - fread()

fread() funktionen læser den åbne fil.

fread() første parameter indeholder navnet på den fil, der skal læses, og den anden parameter bestemmer det maksimale antal byte, der skal læses.

Følgende PHP kode læser hele filen "webdictionary.txt":

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

PHP lukker fil - fclose()

fclose() funktionen bruges til at lukke en åben fil.

Bemærkning:Det er en god programmeringspraksis at lukke alle filer, når de er brugt. Du vil ikke have filer, der bruger serverressourcer på din server.

fclose() kræver navnet på den fil, der skal lukkes (eller en variabel, der indeholder filnavnet):

<?php
$myfile = fopen("webdictionary.txt", "r");
// nogle kode, der skal udføres...
fclose($myfile);
?>

PHP læser en enkelt linje fil - fgets()

fgets() funktionen bruges til at læse en enkelt linje fra en fil.

Eksempel på output af første linje i filen "webdictionary.txt":

Eksempel

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

Kør eksempel

Bemærkning:Efter at have kaldt fgets() funktionen, vil filpegeren flytte til næste linje.

PHP tjekker End-Of-File - feof()

feof() funktionen tjekker om man er nået til "end-of-file" (EOF).

feof() er meget nyttigt til at gennemgå ukendt lange data.

Følgende eksempel læser filen "webdictionary.txt" linje for linje, indtil end-of-file:

Eksempel

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

Kør eksempel

PHP læser enkelt tegn - fgetc()

fgetc() funktionen bruges til at læse et enkelt tegn fra filen.

Følgende eksempel læser filen "webdictionary.txt" karakter for karakter, indtil end-of-file:

Eksempel

<?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
// Udskriv en enkelt tegn indtil end-of-file
while(!feof($myfile)) {
  echo fgetc($myfile);
}
fclose($myfile);
?>

Kør eksempel

Bemærkning:Efter at have kaldt fgetc() funktionen, vil filpegeren flytte til den næste tegn.

PHP Filesystem referencehåndbog

For at få adgang til den fulde PHP Filesystem referencehåndbog, besøg venligst det, der tilbydes af CodeW3C.com PHP Filesystem referencehåndbog.