尽管使用了“\ n”

时间:2016-05-12 20:59:59

标签: php forms post fwrite

我是php的新手,试图了解html表单但是对换行有这个小问题。下面的代码应该通过html获取表名,然后将输入写入文本文件:

HTML

<form action="maketable.php" method="post" name="input[]">
        <fieldset>
            <legend>Table Info</legend>
            Enter Table Name:
            <br>
            <input type="text" name="input[]">
            <br>
            Enter Value A:
            <br>
            <input type="text" name="input[]">
            <br>
            Enter Value B:
            <br>
            <input type="text" name="input[]">
            <br>
            <input type="submit">
        </fieldset>
    </form>

PHP

$file = fopen("Tables.txt", "w+");
if(isset($_POST["input"])) { 
    $input = $_POST["input"];
    $table = $input[0];
    $A = $input[1];
    $B = $input[2];

    fwrite($file, $table . "\n");
    fwrite($file, $A . "\n");
    fwrite($file, $B);
} else {
    fwrite($file, "table not set");
}
fclose($file);

如果我填写表格“表格”,“A”,“B”。文本文件显示

  

tableAB

我想让这些变量在它们之间有换行符,但是. "\n" 似乎不起作用。我做错了什么?

1 个答案:

答案 0 :(得分:0)

最后使用'\ r \ n'(在Windows中)。 '\ n'最适合Linux。

$line_break = '\r\n';

如果你更换它,性能会更快:

fwrite($file, $table . "\n");
fwrite($file, $A . "\n");
fwrite($file, $B);

到此:

$line_break = '\r\n';
fwrite($file, $table . $line_break . $A . $line_break . $B . $line_break);

或者更快:

$line_break = '\r\n';

$write_ok = file_put_contents("Tables.txt", $table . $line_break . $A . $line_break . $B . $line_break);
if ( $write_ok < 4) { // error

}