我是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"
似乎不起作用。我做错了什么?
答案 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
}