Najnowsze tutoriale tworzenie stron internetowych
 

PHP 5 Otwórz plik / Odczyt / Close


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 .