PHP Filöppning/Läsning/Stängning

I denna sektion visar vi dig hur du öppnar, läser och stänger filer på servern.

PHP Öppna Fil - fopen()

En bättre metod att öppna en fil är genom fopen() -funktionen. Denna funktion ger dig fler alternativ än readfile() -funktionen.

I kursen kommer vi att använda textfilen "webdictionary.txt":

AJAX = Asynkron JavaScript och XML
CSS = Kaskadstilar
HTML = Hyper Text Markup Language
PHP = PHP Hypertext Preprocessor
SQL = Strukturerad Frågans Språk
SVG = Skalbar Vektor Grafik
XML = Externa Markup Language

fopen() första parametern innehåller namnet på den fil som ska öppnas, den andra parametern specificerar öppningsläget för filen. Om fopen() -funktionen inte kan öppna den specificerade filen, kommer följande exempel att generera ett meddelande:

Exempel

<?php
$myfile = fopen("webdictionary.txt", "r") or die("Kan inte öppna fil!");
echo fread($myfile, filesize("webdictionary.txt"));
fclose($myfile);
?>

Kör exempel

Tips:Vi kommer nu att lära oss fread() och fclose() -funktionerna.

Filen öppnas i ett av följande lägen:

Modus Beskrivning
r Öppna filen för läsning. Filpekaren börjar vid filens början.
w Öppna filen för skrivning. Filtjänsten kommer att tas bort eller en ny fil kommer att skapas om den inte finns. Filpekaren börjar vid filens början.
a Öppna filen för skrivning. Filer som redan finns kommer att behållas. Filpekaren börjar vid filens slut. Skapa en ny fil om den inte finns.
x Skapa en ny fil för skrivning. Returnerar FALSE och fel om filen redan finns.
r+ Öppna filen för läsning/skrivning, filpekaren börjar vid filens början.
w+ Öppna filen för läsning/skrivning. Filtjänsten kommer att tas bort eller en ny fil kommer att skapas om den inte finns. Filpekaren börjar vid filens början.
a+ Öppna filen för läsning/skrivning. Filer som redan finns kommer att behållas. Filpekaren börjar vid filens slut. Skapa en ny fil om den inte finns.
x+ Skapa en ny fil för läsning/skrivning. Returnerar FALSE och fel om filen redan finns.

PHP läser fil - fread()

fread() -funktionen läser en öppen fil.

fread() första parametern innehåller namnet på den fil som ska läsas, den andra parametern specificerar det maximala antalet tecken som ska läsas.

Följande PHP-kod läser hela filen "webdictionary.txt":

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

PHP stänga fil - fclose()

fclose() -funktionen används för att stänga en öppen fil.

Kommentar:Det är en bra programmeringsvan att stänga alla filer efter användning. Du vill inte att öppna filer ska använda resurser på din server.

fclose() behöver namnet på den fil som ska stängas (eller en variabel som innehåller filnamnet):

<?php
$myfile = fopen("webdictionary.txt", "r");
// Vissa kod som ska köras...
fclose($myfile);
?>

PHP läser en rad från en fil - fgets()

fgets() -funktionen används för att läsa en rad från en fil.

Exempel på utdata för att läsa den första raden av filen "webdictionary.txt":

Exempel

<?php
$myfile = fopen("webdictionary.txt", "r") or die("Kan inte öppna fil!");
echo fgets($myfile);
fclose($myfile);
?>

Kör exempel

Kommentar:Efter att ha anropat fgets()-funktionen flyttas filpekaren till nästa rad.

PHP Kontrollera End-Of-File - feof()

feof()-funktionen kontrollerar om man har nått "end-of-file" (EOF).

feof() är mycket användbart för att traversera data av okänd längd.

Nedan läser vi filen "webdictionary.txt" rad för rad, tills end-of-file:

Exempel

<?php
$myfile = fopen("webdictionary.txt", "r") or die("Kan inte öppna fil!");
// Skriv ut en rad tills end-of-file
while(!feof($myfile)) {
  echo fgets($myfile) . "<br>";
}
fclose($myfile);
?>

Kör exempel

PHP Läs enskilt tecken - fgetc()

fgetc()-funktionen används för att läsa ett enskilt tecken från filen.

Nedan läser vi filen "webdictionary.txt" tecken för tecken, tills end-of-file:

Exempel

<?php
$myfile = fopen("webdictionary.txt", "r") or die("Kan inte öppna fil!");
// Skriv ut enstaka tecken tills end-of-file
while(!feof($myfile)) {
  echo fgetc($myfile);
}
fclose($myfile);
?>

Kör exempel

Kommentar:Efter att ha anropat fgetc()-funktionen flyttas filpekaren till nästa tecken.

PHP Filesystem Referenshandbok

För en fullständig PHP Filesystem Referenshandbok, besök CodeW3C.com tillhandahåller PHP Filesystem Referenshandbok.