KWALIFIKACJA INF3 - CZERWIEC 2021 (test 2)

PYTANIE NR 39.
Wskaż funkcję PHP, za pomocą której odczytana zawartość pliku jest zapisywana do zmiennej reprezentującej ciąg znaków.
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
file_get_contents() służy do odczytania całej zawartości pliku i zwrócenia jej jako łańcucha znaków, który można przypisać do zmiennej. fwrite() zapisuje dane do pliku, a funkcje związane z EOF dotyczą pracy na uchwycie/strumieniu, nie zwracają treści pliku jako string.

Pełne wyjaśnienie:

W PHP, jeśli celem jest odczytanie całej zawartości pliku i zapisanie jej do zmiennej reprezentującej ciąg znaków, właściwym narzędziem jest funkcja file_get_contents(). Zwraca ona treść wskazanego pliku jako jeden string, dzięki czemu można go dalej przetwarzać (np. wyszukiwać fragmenty, parsować, wyświetlać, zamieniać znaczniki).

Odpowiedź file_get_contents(); pasuje do opisu w pytaniu: "odczytana zawartość pliku jest zapisywana do zmiennej reprezentującej ciąg znaków". W praktyce wygląda to jak przypisanie: $dane = file_get_contents('plik.txt'); (to przykład idei, a nie wymóg składni w pytaniu).

Dlaczego pozostałe odpowiedzi nie spełniają warunku?

  • fwrite(); dotyczy zapisu danych do pliku (wymaga zwykle uchwytu pliku i danych do zapisania). Nie służy do pobrania treści pliku do zmiennej-string.
  • get_file(); nie jest standardową, wbudowaną funkcją PHP do odczytu pliku. Może istnieć jako nazwa funkcji w czyimś kodzie, ale pytanie dotyczy funkcji PHP dostępnej w języku.
  • eof(); kojarzy się z pojęciem "end of file", ale w praktyce w PHP kontrola końca pliku jest związana z pracą na strumieniu/uchwycie (sprawdzanie, czy osiągnięto koniec podczas czytania). Sama idea EOF nie oznacza zwrócenia całej zawartości pliku jako string.

Wskazówka egzaminacyjna: czytaj dokładnie warunek "do zmiennej reprezentującej ciąg znaków". To sygnał, że oczekuje się funkcji zwracającej string (a nie funkcji operującej na uchwycie lub zapisującej dane). Dodatkowo zawsze warto odróżniać: odczyt (pobranie danych) vs. zapis (utrwalenie danych w pliku).

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Funkcja file_get_contents() odczytuje zawartość wskazanego pliku i zwraca ją jako łańcuch znaków. Dzięki temu można przypisać wynik do zmiennej i dalej przetwarzać tekst (np. parsować, wyszukiwać, usuwać białe znaki).
Najprościej użyć funkcji file_get_contents(), która zwraca treść pliku jako string. Potem przypisujesz wynik do zmiennej. W praktyce sprawdź też obsługę błędów i uprawnienia dostępu do pliku, bo brak dostępu może skutkować niepowodzeniem odczytu.
fwrite() wykonuje operację odwrotną do odczytu: zapisuje podane dane do pliku (zwykle przez uchwyt/strumień). Nie zwraca treści pliku jako string, tylko zapisuje ciąg znaków lub bajty do wskazanego zasobu.
EOF to skrót od "koniec pliku" i opisuje moment, w którym podczas czytania strumienia nie ma już danych do pobrania. W PHP kontrola końca pliku jest użyteczna przy czytaniu w pętli, ale nie zastępuje funkcji, która wczytuje cały plik do jednego stringa.
Czytanie linia po linii bywa lepsze przy dużych plikach, gdy nie chcesz ładować całej zawartości do pamięci naraz. file_get_contents() jest wygodne i szybkie dla mniejszych plików, konfiguracji, szablonów lub krótkich danych tekstowych.
Typowe błędy to: mylenie funkcji odczytu z zapisem, brak sprawdzenia ścieżki do pliku, ignorowanie uprawnień systemowych oraz brak obsługi sytuacji, gdy plik nie istnieje. Na egzaminie zwracaj uwagę, czy pytanie wymaga stringa czy pracy na strumieniu.
Nie, technicznie może odczytać dowolny plik jako ciąg bajtów zwrócony w stringu. Różnica polega na tym, jak dalej interpretujesz dane: dla tekstu wykonujesz operacje na znakach, a dla danych binarnych zwykle zapisujesz lub przetwarzasz je ostrożniej (np. bez konwersji kodowania).
Szukaj sformułowań typu: "zapis do zmiennej reprezentującej ciąg znaków", "zwraca zawartość jako tekst", "odczytuje całą zawartość". To wskazówki, że potrzebna jest funkcja, której wynikiem jest string, a nie funkcja operująca wyłącznie na uchwycie lub zapisująca dane.
Odczyt polega na pobraniu danych z pliku do programu (np. do zmiennej). Zapis polega na utrwaleniu danych programu w pliku. W pytaniach egzaminacyjnych mylenie tych operacji często prowadzi do wyboru funkcji typu fwrite zamiast funkcji zwracającej treść pliku.
Warto kojarzyć funkcje do odczytu całej zawartości, do zapisu, do pracy na strumieniu oraz do sprawdzania stanu czytania. Kluczowe jest rozróżnienie: funkcja zwracająca treść jako string vs. funkcja działająca na uchwycie oraz kiedy stosuje się każdą z nich.
info

Statystycznie 68% uczniów zna prawidłową odpowiedź. średnie

Eksperci podkreślają: "file_get_contents() służy do odczytania całej zawartości pliku i zwrócenia jej jako łańcucha znaków, który można przypisać do zmiennej."

Źródła:

  • PHP Manual: file_get_contents — https://www.php.net/manual/en/function.file-get-contents.php (dostęp: 2026-02-27)
  • PHP Manual: fwrite — https://www.php.net/manual/en/function.fwrite.php (dostęp: 2026-02-27)
  • PHP Manual: feof — https://www.php.net/manual/en/function.feof.php (dostęp: 2026-02-27)

Materiały:

  • Dokumentacja PHP: dział Filesystem (funkcje odczytu/zapisu)
  • Ćwiczenia praktyczne: wczytanie pliku do zmiennej, obsługa błędów i uprawnień
  • Notatki porównujące funkcje: odczyt całego pliku vs. praca na uchwycie (handle)

Aktualizacja pytania: 31.03.2026

Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego