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).