Php 我正在制作一个表单,将数据提交到一个文本文件中,如何使其进入某个目录?(这是我第一次)

Php 我正在制作一个表单,将数据提交到一个文本文件中,如何使其进入某个目录?(这是我第一次),php,html,Php,Html,您好,我目前正在制作一个网站,我有两个主要文件index.hml和action_page.php。我正在尝试使用HTML表单将数据发送到一个文件,但我不知道如何设置目录。这是密码 (HTML code) <div class="messageform"> <form action="action_page.php" method="post"> First name:&l

您好,我目前正在制作一个网站,我有两个主要文件index.hml和action_page.php。我正在尝试使用HTML表单将数据发送到一个文件,但我不知道如何设置目录。这是密码

(HTML code)
         <div class="messageform">
          <form action="action_page.php" method="post">
  First name:<br>
  <input type="text" name="firstname" value=""><br>
  Last name:<br>
  <input type="text" name="lastname" value=""><br><br>
  <input type="submit" value="Submit">
</form>
(HTML代码)
名字:

姓氏:


(PHP代码)


提前感谢:)


尝试在文件路径本身中设置目录,如果重复,则将其设置为变量/常量

文件内路径的示例

file\u put\u内容('./path/to/file/here/fields.txt',$txt,file\u APPEND);
/
是php文件执行函数的相对位置。 要返回一个级别,可以使用
。/path/to/dir
或多个级别
。/../path/to/dir

VS代码有助于在工作区中使用autocomplete轻松导航这些../

另一种方法是使用变量:


$TextFilePath='./path/to/dir';
文件内容($TextFilePath/fields.txt),$txt,文件附加);
添加我打字时发布的内容。对不起,我不知道怎么打他们的名字。他们添加了验证检查,但使用文件名创建路径。在尝试写入之前查看目录是否存在-这可能会引发错误。这是一个很好的实践,你的职能中缺少了这一点

我最后提出的答案 注意:这是我们在DM中测试工作的内容


您想将文件存储在哪里?我创建了一个文件夹/text我刚才试过这样的文件\u put\u contents('var/www/html/field.txt'),但没有创建任何文件?我试过您的最终答案,它给了我HTTP错误500?您使用的是根路径,而不是相对路径。我不确定这是否影响了事情。一般认为,您应该使用指向php文件位置的相对路径。噢,很抱歉,您的评论中也缺少该文件的内容。这是故意的吗?给你,我想这一页肯定会有答案的。嗨,我也试过你的代码,虽然它看起来有效,但我检查了目录,文件要么不在那里,要么根本就没有创建?我把它改成了``file\u put\u contents($path,$txt,file\u APPEND)```我又试了一次你的,它看起来又起作用了,但仍然没有文件。
<?php
if( isset($_POST['firstname'] ) && isset( $_POST['lastname'] ) )
{
    $txt= $_POST['firstname'].' - '.$_POST['lastname'] . PHP_EOL; 
    file_put_contents('fields.txt', $txt, FILE_APPEND);
}
?>
<?php
if (isset($_POST['firstname']) && isset($_POST['lastname'])) {

            $txt = $_POST['firstname'] . ' - ' . $_POST['lastname'] . PHP_EOL;

            $path = "/tmp/user/fields.txt";

            if (!is_dir(dirname($path)))
                mkdir(dirname($path), 0755, true);

            file_put_contents($path, $txt, FILE_APPEND);
        }
?>