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_APPEND
zapewnia, że tekst zostanie dodany na końcu pliku, zamiast nadpisywać jego zawartość.PHP_EOL
dodaje 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.