Здравствуйте! Реализовать передачу данных из формы на сайте в TXT файл, с последующей автоматической очисткой данных через час, можно с помощью простого PHP-скрипта. Вот пример того, как это можно сделать.
### Шаг 1: Создание HTML-формы
Создайте файл `form.html`, в который добавьте следующий код:
```html
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<title>Форма передачи данных</title>
</head>
<body>
<form action="submit.php" method="post">
<label for="data">Введите данные:</label>
<input type="text" name="data" id="data" required>
<button type="submit">Отправить</button>
</form>
</body>
</html>
```
### Шаг 2: Обработка данных в PHP
Создайте файл `submit.php`, в котором будет обрабатываться форма и записываться данные в TXT файл:
```php
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$data = filter_input(INPUT_POST, 'data', FILTER_SANITIZE_STRING);
$file = 'data.txt';
$time = time();
// Запись данных в файл
file_put_contents($file, "$time|$data\n", FILE_APPEND);
}
?>
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<title>Данные отправлены</title>
</head>
<body>
<p>Данные успешно отправлены!</p>
<a href="form.html">Вернуться к форме</a>
</body>
</html>
```
### Шаг 3: Очистка данных
Создайте файл `cleanup.php`, который будет проверять возраст записей и удалять старые:
```php
<?php
$file = 'data.txt';
$timeLimit = 3600; // 1 час
if (file_exists($file)) {
$lines = file($file);
$newLines = [];
foreach ($lines as $line) {
list($timestamp, $data) = explode('|', trim($line));
if (time() - $timestamp < $timeLimit) {
$newLines[] = $line;
}
}
// Запись обратно очищенного массива данных в файл
file_put_contents($file, implode("", $newLines));
}
?>
```
### Шаг 4: Настроить Cron Job (необязательно)
Если ваш сервер поддерживает планировщик заданий (cron), вы можете настроить выполнение `cleanup.php` раз в час:
1. Откройте терминал.
2. Введите команду `crontab -e` для редактирования cron заданий.
3. Добавьте строку:
```
0 * * * * /usr/bin/php /path/to/your/cleanup.php
```
Эта команда будет запускать `cleanup.php` каждый час.
### Примечание
- Учтите, что данный способ довольно простой и в основном предназначен для учебных целей. В продакшн среде стоит использовать более безопасные и надежные способы хранения данных, например, базы данных.
- Не забудьте проверить, что у вашего веб-сервера есть права на чтение и запись в файл `data.txt`.
Надеюсь, это поможет вам реализовать вашу задачу!