PHP Как мне создать новый файл при каждом нажатии пользователем кнопки

#php #file

#php #файл

Вопрос:

Итак, по сути, я хочу программу, в которой пользователь вводит что-то в текстовую область, затем php сохраняет входные данные в новом файле каждый раз, когда это делается. Вот что у меня пока есть:

Это получает входные данные от пользователя.

 <?php
$usrUp = $_POST['input'];
$fOp = fopen("updates.txt","c ");
fwrite($fOp, $usrUp);
fclose ( $fOp );
?>
  

И предполагается, что это создаст новый файл с новой информацией.

 <?php
if (file_exists ("updates.txt") amp;amp; filesize ("updates.txt") > 0) 
{
$open = fopen("updates.txt","r");
$contentU = fread($open, filesize("updates.txt"));
fclose ($open);
echo $contentU;
}
?>
  

Комментарии:

1. Вам нужно, чтобы каждый раз, когда пользователь вводил данные для сохранения в новом файле (и оставлял старый). Или каждый раз, когда каждый пользователь вводит данные, он перезаписывает «updates.txt » (1 файл для всех).

2. Прежде всего: рассмотрите возможность использования базы данных для такого рода вещей. Его легко настроить, xampp даже поставляется с mysql. Чтобы ответить на ваш вопрос: предполагается ли создавать новый файл каждый раз, когда вы запускаете это? Например, в результате inp1.txt , inp2.txt , inp3.txt и так далее. Почему бы просто не выполнить цикл while (true), который подсчитывает имена файлов, пока file_exists не вернет false , и в этом случае вы создаете файл и выходите из цикла?

3. Ответ Ultrazz: В приведенном выше примере он вводит и перезаписывает то, что уже есть в «updates.txt .» Для меня это было просто временное решение, но я хочу, чтобы он создал новый файл и оставил старый

4. Эскир: Общая картина такова, что это обновление статуса, поэтому программе необходимо повторять каждый отдельный файл, не вмешиваясь в какие-либо другие обновления статуса. Если то, что вы только что объяснили прямо там, сработает, я могу попробовать это

5. О, это просто. Вы можете сделать это с помощью того, что я сказал сделать. Предложенный ниже параметр времени тоже может это сделать, но вам все равно нужно каждый раз анализировать дату, поэтому не уверен, что вы предпочитаете делать (наличие метки времени может быть весьма полезным)

Ответ №1:

Чтобы создавать каждый раз новый файл, вы могли бы использовать time():

 // change this line of code
$fOp = fopen("updates.txt","c ");
  

Для:

 $file_name = "updates_".time().".txt";
$fOp = fopen($file_name,"c ");
  

Комментарии:

1. Спасибо, это действительно помогло 🙂 Я также выяснил, как повторить это, но проблема сейчас в том, что он исчезает, как только вы покидаете страницу и возвращаетесь. У вас есть какие-либо предложения по этому поводу?

2. Вам нужно загрузить последний файл или все файлы? И вы могли бы использовать базу данных для сохранения этого (и загрузки обратно), это не лучший метод…

3. Все файлы в определенных «div» ах. Все еще выясняю, как сохранить элементы JS для этого. В основном это работает следующим образом: пользователь вводит обновление своего статуса в форму, пользователь переходит к нажатию кнопки, которая создает новый элемент JS с обновлением статуса в нем. Я использую php для передачи и сохранения статуса, но мне нужно выяснить, как сохранить их там. Надеюсь, это объясняет. 🙂

4. Вам нужен некоторый счетчик для элементов, таких как element1, element2, element3.. И когда вы выполняете сохранение в файл, вы можете использовать то же имя для сохранения в файл, например updates_element1, updates_element2 и так далее, а позже вы можете загрузить свой файл по элементам..