我有2个文件,分别名为Sellcar.php和interest.php。用户可以在sellcar.php中提交要出售的汽车详细信息,它将被写入txt文件。如果买家有兴趣,他们可以在interest.php中提交其详细信息,它将被发送到另一个txt文件。对于sellcar.php,每次有一个新条目时,它都会进入新行,但是对于interest.php,则没有。代码非常相似,所以我不确定发生了什么。
sellcar.php
<?php
if(isset($_POST['submit']))
{
$fname =$_POST['fname'];
$lname=$_POST['lname'];
$phone=$_POST['phone'];
$email=$_POST['email'];
$platenum=$_POST['platenum'];
$model=$_POST['model'];
$caryear=$_POST['caryear'];
$desc=$_POST['desc'];
$travel=$_POST['travel'];
$owner=$_POST['owner'];
$repair=$_POST['repair'];
$file = fopen("CarDirectory.txt","a+");
fwrite($file,$fname . ',');
fwrite($file,$lname . ',');
fwrite($file,$phone . ',');
fwrite($file,$email . ',');
fwrite($file,$platenum . ',');
fwrite($file,$model . ',');
fwrite($file,$caryear . ',');
fwrite($file, $desc . ',');
fwrite($file,$travel . ',');
fwrite($file,$owner . ',');
fwrite($file,$repair . "\n");
print_r(error_get_last());
fclose($file);
header("Location:mainmenu.php");
}
?>
interest.php
<?php
if(isset($_POST['submit']))
{
$fname =$_POST['fname'];
$lname=$_POST['lname'];
$phone=$_POST['phone'];
$platenum=$_POST['platenum'];
$price=$_POST['price'];
$file = fopen("BuyerInterest.txt","a+");
fwrite($file,$fname . ',');
fwrite($file,$lname . ',');
fwrite($file,$phone . ',');
fwrite($file,$platenum . ',');
fwrite($file,$price . "\n");
print_r(error_get_last());
fclose($file);
}
?>
答案 0 :(得分:4)
尝试使用PHP_EOL
的{{1}}版本。
示例:"\n"
fwrite($file,$price . PHP_EOL);
的目的是为您使用的平台自动选择正确的换行符。
答案 1 :(得分:0)
PHP定义了诸如DIRECTORY_SEPERATOR
或PHP_EOL
(行尾-跨平台)之类的常量
http://php.net/manual/en/dir.constants.php
http://php.net/manual/en/reserved.constants.php
我在Google上的第一弹
Line break not working when writing to text file in PHP
这称为不变性和协方差。如果您使用的是Google,那么您会找到比这里的答案能更好地解释它的教程。