ZSEiO w Krośnie
|
TECHNIK INFORMATYK
|
|||
|
|
||||
Lekcja nr:
|
9
|
Nazwa
przedmiotu:
|
||
Temat:
Operacje na plikach
|
Czas trwanie 45 min |
|||
|
Autor materiałów:
dr Marcin Skuba |
||||
1.
Treści programowe:
Język PHP,
zapisywanie danych do pliku, odczytywanie danych z pliku.
2.
Cel zajęć:
Celem zajęć jest nabycie
umiejętności zapisywania danych do pliku oraz pobierać dane z pliku do
aplikacji.
3. Materiały
dydaktyczne
·
Zapis danych do pliku
tekstowego
Najważniejsze funkcje:
|
Funkcja |
Opis |
|
|
fopen() |
otwarcie pliku |
|
|
fwrite() |
zapis do pliku |
|
|
fclose() |
zamknięcie pliku |
|
Przykładowy fragment programu z zadeklarowaną
funkcją zapisującą dane do pliku o nazwie określonym w nazwie argumentu funkcji.
Operacja polega na wywołaniu trzech funkcji: otwierającej
plik fopen(), zapisującej
dane fwrite()
oraz zamykającej połączenie z plikiem fclose()
function zapiszDoPliku($nazwaPliku)
{
$imie = "Jan";
$wiek = 25;
// otwarcie pliku do zapisu (w – nadpisuje plik)
$plik = fopen($nazwaPliku, "w");
if ($plik === false) {
echo "Nie
można otworzyć pliku do zapisu!\n";
return;
}
fwrite($plik, "Imie: $imie\n");
fwrite($plik, "Wiek: $wiek\n");
fclose($plik);
echo "Dane zapisane do pliku.\n";
}
// wywołanie funkcji
zapiszDoPliku("dane.txt");
Tryby otwarcia pliku
|
Tryb |
Opis |
|
|
"w" |
zapis (kasuje plik) |
|
|
"a" |
dopisywanie na końcu |
|
|
"r" |
odczyt |
|
|
"w+" |
zapis + odczyt |
|
· Odczyt danych z pliku
tekstowego
|
Funkcja |
Opis |
|
|
fgets() |
Odczytuje jedną linię z pliku |
|
|
feof() |
Sprawdza, czy osiągnięto koniec pliku (EOF) |
|
Odczyt linia po linii
function odczytajZPliku($nazwaPliku)
{
$plik = fopen($nazwaPliku, "r");
if ($plik === false) {
echo "Nie
można otworzyć pliku do odczytu!\n";
return;
}
echo "Zawartość pliku:\n";
while (!feof($plik)) {
$linia = fgets($plik);
if ($linia !== false)
{
echo $linia;
}
}
fclose($plik);
}
// wywołanie funkcji
odczytajZPliku("dane.txt");
4. Zadania
Zadanie 1.
Zapis danych użytkownika
Napisz skrypt PHP, który zapisze do pliku dane.txt:
Dane pobierz z
formularz
Wymagania:
Zadanie 2 – Odczyt linia po linii
Napisz funkcję wyswietlPlik($nazwaPliku), która wyświetli zawartość pliku linia po
linii.
Wymagania:
Zadanie 3 - Prosty
dziennik zdarzeń (log)
Poziom:
średnio-zaawansowany
Treść:
Napisz funkcję zapiszLog($tekst), która dopisze do
pliku log.txt:
Przykładowy zapis w
pliku:
2025-05-10 12:30:01 - Użytkownik
zalogowany
Wymagania:
Zadanie 3 – Licznik uruchomień strony
Napisz skrypt PHP, który:
Wymagania:
Zadanie 4 – Lista zadań (TODO)
Napisz skrypt PHP, który:
Wymagania:
Zadanie 5 –
Usuwanie zawartości pliku
Napisz funkcję wyczyscPlik($nazwaPliku),
która usuwa całą zawartość pliku.
Wymagania: