PHP Otwieranie/Podgląd/Zamykanie Pliku
- Poprzednia strona Pliki PHP
- Następna strona Tworzenie i zapis plików PHP
W tym rozdziale omówimy, jak otwierać, czytać i zamykać pliki na serwerze.
PHP Otwieranie Pliku - fopen()
Lepszym sposobem otwierania pliku jest funkcja fopen(). Funkcja ta oferuje więcej opcji niż funkcja readfile().
W kursie użyjemy pliku tekstowego "webdictionary.txt":
AJAX = Asynchroniczny JavaScript i XML CSS = Arkusze Stylów Kaskadowych HTML = Język Oznakowania Hyper Tekstu PHP = PHP Hypertext Preprocessor SQL = Język Zapytań Strukturyzowanych SVG = Rysunki Wektorowe Skalowalne XML = Rozszerzalny Język Markup
Pierwszy parametr funkcji fopen() zawiera nazwę pliku do otwarcia, drugi parametr określa tryb otwarcia pliku. Jeśli funkcja fopen() nie może otworzyć określonego pliku, poniższy przykład wygeneruje komunikat:
Przykład
<?php $myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!"); echo fread($myfile, filesize("webdictionary.txt")); fclose($myfile); ?>
Wskazówka:Następnie nauczymy się funkcji fread() oraz fclose().
Plik zostanie otwarty w jednym z następujących trybów:
Tryb | Opis |
---|---|
r | Otwieranie pliku do odczytu. Wskazówka strumienia zaczyna się od początku pliku. |
w | Otwieranie pliku do zapisu. Usuwa zawartość pliku lub tworzy nowy plik, jeśli nie istnieje. Wskazówka strumienia zaczyna się od początku pliku. |
a | Otwieranie pliku do zapisu. Zostawia istniejące dane w pliku. Wskazówka strumienia zaczyna się od końca pliku. Tworzy nowy plik, jeśli nie istnieje. |
x | Tworzenie nowego pliku do zapisu. Zwraca FALSE i błąd, jeśli plik już istnieje. |
r+ | Otwieranie pliku do odczytu/zapisu. Wskazówka strumienia zaczyna się od początku pliku. |
w+ | Otwieranie pliku do odczytu/zapisu. Usuwa zawartość pliku lub tworzy nowy plik, jeśli nie istnieje. Wskazówka strumienia zaczyna się od początku pliku. |
a+ | Otwieranie pliku do odczytu/zapisu. Zostawia istniejące dane w pliku. Wskazówka strumienia zaczyna się od końca pliku. Tworzy nowy plik, jeśli nie istnieje. |
x+ | Tworzenie nowego pliku do odczytu/zapisu. Zwraca FALSE i błąd, jeśli plik już istnieje. |
PHP odczytywanie pliku - fread()
Funkcja fread() odczytuje otwarty plik.
Pierwszy parametr funkcji fread() zawiera nazwę pliku do odczytania, drugi parametr określa maksymalną liczbę bajtów do odczytania.
Następujący kod PHP czyta plik "webdictionary.txt" do końca:
fread($myfile, filesize("webdictionary.txt"));
PHP zamknięcie pliku - fclose()
Funkcja fclose() jest używana do zamknięcia otwartego pliku.
Komentarz:Zamknięcie wszystkich plików po ich użyciu jest dobrym nawykiem programistycznym. Nie chcesz, aby otwarte pliki zajmowały zasoby serwera.
Funkcja fclose() wymaga nazwy pliku do zamknięcia (lub zmiennej zawierającej nazwę pliku):
<?php $myfile = fopen("webdictionary.txt", "r"); // some code to be executed.... fclose($myfile); ?>
PHP czytanie jednej linii pliku - fgets()
Funkcja fgets() jest używana do odczytywania jednej linii z pliku.
Następujący przykład wyświetla pierwszą linię pliku "webdictionary.txt":
Przykład
<?php $myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!"); echo fgets($myfile); fclose($myfile); ?>
Komentarz:Po wywołaniu funkcji fgets(), wskaźnik pliku przenosi się do następnego wiersza.
Sprawdzenie końca pliku PHP - feof()
Funkcja feof() sprawdza, czy doszliśmy do końca pliku (EOF).
Funkcja feof() jest bardzo przydatna do przechodzenia przez dane o nieznanej długości.
Poniższy przykład czyta plik "webdictionary.txt" wiersz po wierszu, aż do końca pliku:
Przykład
<?php $myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!"); // Wyświetl pojedynczą linię do końca pliku while(!feof($myfile)) { echo fgets($myfile) . "<br>"; } fclose($myfile); ?>
Odczyt pojedynczego znaku PHP - fgetc()
Funkcja fgetc() jest używana do odczytu pojedynczego znaku z pliku.
Poniższy przykład czyta plik "webdictionary.txt" znak po znaku, aż do końca pliku:
Przykład
<?php $myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!"); // Wyświetl pojedynczy znak do końca pliku while(!feof($myfile)) { echo fgetc($myfile); } fclose($myfile); ?>
Komentarz:Po wywołaniu funkcji fgetc(), wskaźnik pliku przenosi się do następnego znaku.
Podręcznik referencyjny Filesystem PHP
Aby uzyskać pełny podręcznik referencyjny systemu plików PHP, odwiedź CodeW3C.com. Podręcznik referencyjny Filesystem PHP.
- Poprzednia strona Pliki PHP
- Następna strona Tworzenie i zapis plików PHP