W tej lekcji omówimy, jak w języku PHP zapisywać dane do pliku znajdującego się w tym samym katalogu, co nasz skrypt. PHP oferuje kilka funkcji do pracy z plikami, co umożliwia łatwe zarządzanie danymi, np. logowanie informacji, przechowywanie danych formularzy czy konfiguracji. Przyjrzymy się podstawowej funkcji file_put_contents(), która pozwala na szybki i łatwy zapis danych do pliku.
Przykład kodu
Poniższy przykład składa się z prostego formularza HTML, który umożliwia użytkownikowi wprowadzenie tekstu. Następnie, za pomocą PHP, tekst ten zostaje zapisany do pliku w tym samym katalogu.
<!DOCTYPE html>
<html lang="pl">
<head>
    <meta charset="UTF-8">
    <title>Zapis do pliku</title>
</head>
<body>
    <h3>Formularz zapisu do pliku</h3>
    <form method="post">
        <label for="text">Wpisz tekst: </label>
        <input type="text" id="text" name="text">
        <button type="submit">Zapisz</button>
    </form>
</body>
</html>
Oraz kod php:
<?php
// Sprawdzanie, czy formularz został wysłany
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    // Przechwytywanie tekstu z formularza
    $text = $_POST['text'];
    // Ścieżka do pliku, w którym zostaną zapisane dane
    $file = "data.txt";
    // Zapisywanie danych do pliku
    // Jeśli plik nie istnieje, zostanie automatycznie utworzony
    if (file_put_contents($file, $text . PHP_EOL, FILE_APPEND)) {
        echo "Tekst został pomyślnie zapisany.";
    } else {
        echo "Wystąpił błąd podczas zapisywania tekstu.";
    }
}
?>
Omówienie kodu
- Formularz HTML: Prosty formularz z jednym polem tekstowym i przyciskiem submit. Formularz ten wysyła dane metodą POST.
- Obsługa PHP: Skrypt PHP najpierw sprawdza, czy formularz został wysłany. Jeśli tak, przechwytuje tekst wprowadzony przez użytkownika.
- Zapis do pliku: Funkcja file_put_contents()jest używana do zapisania tekstu do pliku. ArgumentFILE_APPENDzapewnia, że tekst zostanie dodany na końcu pliku, zamiast nadpisywać jego zawartość.PHP_EOLdodaje znak nowej linii po każdym wpisie, co zapewnia lepszą czytelność zapisywanych danych.
Podsumowanie
Zapisywanie danych do pliku w PHP jest prostą, ale bardzo użyteczną funkcjonalnością. Może być wykorzystane do wielu celów, od logowania informacji, przez przechowywanie danych z formularzy, po konfigurację aplikacji. W tej lekcji pokazaliśmy, jak użyć funkcji file_put_contents() do zapisywania danych z formularza HTML do pliku w tym samym katalogu. Pamiętaj o odpowiednich uprawnieniach dostępu do plików na serwerze, aby operacja zapisu mogła zostać wykonana pomyślnie.