如何在php中为每个用户创建动态txt文件名?[已关闭]

31moq8wy  于 2022-12-17  发布在  PHP
关注(0)|答案(1)|浏览(112)

已关闭。此问题需要details or clarity。当前不接受答案。
**想要改进此问题?**添加详细信息并通过editing this post阐明问题。

2小时前关门了。
这篇文章是编辑和提交审查1小时前。
Improve this question
我试图创建一个动态文件名的例子1.txt和2.txt...并写下每个用户在一个单独的文件中的表单数据。但每次用户发送的表单脚本遇到这个问题,我的文件被覆盖。

<?php 
//  get the field data
if (isset($_POST['submit'])) {
    $name = $_POST['name'];
    $email = $_POST['email'];
    $phone = $_POST['phone'];
    $message = $_POST['message'];
}

$mixed_data = $name ."\n". $email ."\n". $phone ."\n" . $message ."\n";

for ($dynamic_name = 1; $dynamic_name <= 1; $dynamic_name++) { 
    $create_file = fopen($dynamic_name.".txt", "w");
    fwrite($create_file, $mixed_data);
    fclose($create_file);
}

而且我刚刚从问题中删除了Mysql标签!!!

bjp0bcyl

bjp0bcyl1#

为了避免在每次提交表单时覆盖该文件,可以使用file_exists()函数检查该文件是否已经存在,如果已经存在,可以将$dynamic_name的值增加1,然后重试,直到找到一个不存在的文件名。
下面是一个如何修改代码以实现此目的的示例:

<?php 
//  get the field data
if (isset($_POST['submit'])) {
    $name = $_POST['name'];
    $email = $_POST['email'];
    $phone = $_POST['phone'];
    $message = $_POST['message'];
}

$mixed_data = $name ."\n". $email ."\n". $phone ."\n" . $message ."\n";

$dynamic_name = 1;
while (file_exists($dynamic_name.".txt")) {
    $dynamic_name++;
}

$create_file = fopen($dynamic_name.".txt", "w");
fwrite($create_file, $mixed_data);
fclose($create_file);

这段代码将不断增加$dynamic_name的值,直到找到一个不存在的文件名,然后使用该名称创建文件并将表单数据写入其中。

相关问题