PHP从输入写入文件到txt - 问题

时间:2018-01-23 21:25:42

标签: php html forms

我已经参与了一段时间并且已经通过堆栈上的其他选项但是无法使其工作。 (我很高兴,对不起!)

我有一个表单,我想将数据发送到我的txt文件,但它只是不写。

任何帮助非常感谢,谢谢!!

我的HTML表单:

<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>php test</title>
</head>

    <title></title>
</head>
<body>
        <form action="myprocessingscript.php" method="POST">
    <input name="field1" type="text" />
    <input name="field2" type="text" />
    <input type="submit" name="submit" value="Save Data">
</form>
    <a href='/tmp/mydata.txt'>Text file</a>
</body>

我的PHP

<?php
if(isset($_POST['field1']) && isset($_POST['field2'])) {
    $data = $_POST['field1'] . '-' . $_POST['field2'] . "\n";
    $ret =  fwrite('/tmp/mydata.txt', $data, FILE_APPEND | LOCK_EX);
    if($ret === false) {
        die('There was an error writing this file');
    }
    else {
        echo "$ret bytes written to file";
    }
}
else {
   die('no post data to process');
}

2 个答案:

答案 0 :(得分:1)

您需要先打开一个文件,然后才能使用fwrite()写入文件。

$fp = fopen('/tmp/mydata.txt', 'w');
$ret = fwrite($fp, $data);
//and don't forget to close it
fclose($fp);
if($ret === false) { 
   ...

根据您在问题中使用的标记,我认为您可能会考虑的功能是file_put_contents(请参阅文档HERE),而不是fwrite

答案 1 :(得分:0)

尝试添加以下代码:

$myfile = fopen("/tmp/mydata.txt", "w") or die("Unable to open file!");
在fwrite()之前的

,您现在可以在文件中插入数据/文本:

fwrite($myfile, $data);