W tym rozdziale będziemy uczyć się, jak otworzyć, przeczytać i zamknij plik na serwerze.
PHP Open File - fopen()
Lepszym sposobem otwierania plików jest z fopen() funkcji. Funkcja ta daje więcej możliwości niż readfile() funkcji.
Będziemy korzystać z pliku tekstowego "webdictionary.txt" , podczas lekcji:
AJAX = Asynchronous JavaScript and XML
CSS = Cascading Style Sheets
HTML = Hyper Text Markup Language
PHP = PHP Hypertext Preprocessor
SQL
= Structured Query Language
SVG = Scalable Vector Graphics
XML =
EXtensible Markup Language
Pierwszy parametr fopen () zawiera nazwę pliku, który ma zostać otwarty, a drugi parametr określa w jakim trybie należy otworzyć plik. Poniższy przykład ilustruje także generuje komunikat, jeśli funkcja fopen () nie jest w stanie otworzyć określony plik:
Przykład
<?php
$myfile = fopen("webdictionary.txt", "r") or
die("Unable to
open file!");
echo fread($myfile,filesize("webdictionary.txt"));
fclose($myfile);
?>
Uruchomić przykład » Wskazówka: fread () i fclose () funkcje zostaną wyjaśnione poniżej.
Plik może zostać otwarte w jednym z następujących trybów:
Modes | Description |
---|---|
r | Open a file for read only . File pointer starts at the beginning of the file |
w | Open a file for write only . Erases the contents of the file or creates a new file if it doesn't exist. File pointer starts at the beginning of the file |
a | Open a file for write only . The existing data in file is preserved. File pointer starts at the end of the file. Creates a new file if the file doesn't exist |
x | Creates a new file for write only . Returns FALSE and an error if file already exists |
r+ | Open a file for read/write . File pointer starts at the beginning of the file |
w+ | Open a file for read/write . Erases the contents of the file or creates a new file if it doesn't exist. File pointer starts at the beginning of the file |
a+ | Open a file for read/write . The existing data in file is preserved. File pointer starts at the end of the file. Creates a new file if the file doesn't exist |
x+ | Creates a new file for read/write . Returns FALSE and an error if file already exists |
PHP odczytać pliku - fread ()
Funkcja fread () odczytuje z otwartego pliku.
Pierwszy parametr fread () zawiera nazwę pliku do odczytu i drugi parametr określa maksymalną liczbę bajtów do odczytania.
Poniższy kod PHP odczytuje „webdictionary.txt” plik do końca:
fread($myfile,filesize("webdictionary.txt"));
PHP Close File - fclose()
fclose() Funkcja ta służy do zamykania otwartego pliku.
Jest to dobra praktyka programowania, aby zamknąć wszystkie pliki po zakończeniu z nimi. Nie chcesz otwarty plik biegają na serwer podejmowania środków!
fclose() wymaga nazwy pliku (lub zmiennej, która przechowuje nazwę pliku) chcemy zamknąć:
<?php
$myfile = fopen("webdictionary.txt", "r") ;
// some code to be
executed....
fclose($myfile) ;
?>
PHP Czytaj Single Line - fgets()
fgets() Funkcja ta służy do odczytu jednej linii z pliku.
Poniższy przykład wysyła pierwszy wiersz "webdictionary.txt" pliku:
Przykład
<?php
$myfile = fopen("webdictionary.txt", "r") or
die("Unable to
open file!");
echo fgets($myfile);
fclose($myfile);
?>
Uruchomić przykład » Note: Po wywołaniu fgets() funkcji, wskaźnik plik został przeniesiony do następnego wiersza.
PHP Sprawdź EOF - feof()
W feof() sprawdza, czy funkcja "end-of-file" (EOF) została osiągnięta.
feof() to przydatne do przelotowego danych o nieznanej długości.
Poniższy przykład odczytuje "webdictionary.txt" pliku linia po linii, aż do osiągnięcia EOF:
Przykład
<?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);
?>
Uruchomić przykład » PHP Czytaj pojedynczego znaku - fgetc()
fgetc() Funkcja ta służy do odczytu pojedynczego znaku z pliku.
Poniższy przykład odczytuje "webdictionary.txt" pliku znak po znaku, aż do osiągnięcia EOF:
Przykład
<?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);
?>
Uruchomić przykład » Note: Po wywołaniu fgetc() funkcji, wskaźnik pliku przenosi się do następnego znaku.
Wypełnij PHP Plików Reference
Aby uzyskać pełną odniesień do funkcji systemu plików, przejdź do naszej pełnej PHP systemu plików Reference .