W PHP do pracy z plikami można używać dwóch popularnych podejść: funkcji "jednowywołaniowych" oraz pracy na strumieniu (uchwycie pliku).
Poprawna odpowiedź: file_put_contents()
Funkcja file_put_contents() zapisuje przekazane dane do pliku. Jeśli plik nie istnieje, zostanie utworzony (o ile serwer ma uprawnienia do zapisu w danej lokalizacji). To spełnia warunek pytania: zapis danych oraz utworzenie pliku odbywa się w jednym wywołaniu.
Dlaczego pozostałe odpowiedzi są błędne?
- fopen() z trybem "w" – otwiera plik do zapisu (a gdy nie istnieje, zwykle go utworzy), ale samo fopen() nie zapisuje jeszcze danych. Aby faktycznie zapisać treść, trzeba wykonać kolejne wywołanie, np. fwrite(), a na końcu zamknąć plik. Nie spełnia więc warunku "w jednym wywołaniu".
- file_get_contents() – służy do odczytywania zawartości pliku (lub zasobu), a nie do zapisu. Typowy błąd wynika z podobieństwa nazw do file_put_contents().
- include() – to mechanizm dołączania i wykonywania pliku PHP jako kodu (np. wspólnego nagłówka/stopki strony), a nie operacja zapisu danych do pliku.
Wskazówka egzaminacyjna: jeżeli w treści jest mowa o "zapisie w jednym wywołaniu", najczęściej chodzi o file_put_contents(). Jeżeli pojawia się "otwarcie pliku w trybie …" lub "praca na uchwycie", zwykle rozwiązaniem jest zestaw fopen() + fwrite() + fclose().